<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>developer &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/developer/</link>
	<description>Feed of posts on WordPress.com tagged "developer"</description>
	<pubDate>Sun, 20 Jul 2008 06:55:56 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Biz Times: Condo sales at showflats tapering off]]></title>
<link>http://arthurkwok.wordpress.com/?p=2585</link>
<pubDate>Tue, 15 Jul 2008 01:32:53 +0000</pubDate>
<dc:creator>arthurkwok</dc:creator>
<guid>http://arthurkwok.wordpress.com/?p=2585</guid>
<description><![CDATA[Condo sales at showflats tapering off
One developer blames Livia&#8217;s pricing for &#8217;spoiling]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Condo sales at showflats tapering off</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">One developer blames Livia's pricing for 'spoiling' other projects' sales</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">WHILE City Developments managed to sell 96 units last week at its Livia condo at Pasir Ris, developers of most other projects suffered rapidly declining sales at their showflats.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">At least one developer blamed Livia's attractive pricing - $650 psf on average - for 'spoiling' sales of other projects, while others said a tapering off was to be expected given negative news flows from overseas on the state of the financial and stock markets.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Developers and property agents generally reported still strong turnouts at showflats last weekend, although take-up slowed.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Sim Lian sold 19 units last week at its Clover By The Park condo in Bishan, less than the 59-unit sales it achieved in the preceding week. To date, Sim Lian has sold 273 of the total 616 units in the project. 'That's almost 45 per cent of a large project in just three weeks; that's quite an achievement given current market sentiment,' Sim Lian Group executive director Diana Kuik said when approached by BT.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 99-year leasehold project's average price remains at $750 psf.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Sim Lian also sold a unit at The Amery, a freehold project in the Telok Kurau area, last week - again a less sparkling performance than the four units it sold a week earlier.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Next to Geylang River, NTUC Choice Homes and Ho Bee found buyers for another nine units at Dakota Residences last weekend. This brings total sales to 170 units in the 99-year project, which has an average price of about $980 psf.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Over in the Kovan MRT Station vicinity, the developer of Kovan Residences sold about 20 units last week, bringing total sales to over 100 units since the 99-year project was previewed at a private party on June 28. The average price is somewhere in the $870-900 psf range. Nearby, MCL Land sold another three units at its D-Pavilion, a freehold project priced at $900 psf on average last week. This was a slower sales rate than initial sales of 10 units the preceding weekend.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The stakes will go up for these two developers when Frasers Centrepoint previews this weekend its Woodsville 28 near Potong Pasir MRT Station - which is three MRT stops closer to town than Kovan MRT Station.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 110-unit condo will have an average price of $880 psf. The 99-year leasehold development comprises two 17-storey blocks. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'The two- and three-bedder units, with respective average sizes of 883 sq ft and 1,195 sq ft, are about 5 to 6 per cent smaller than conventional units as we've adjusted our sizes to fit the profile of the market we're targeting - those just starting their families or young couples who want to stay near the city and even retirees. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'Two-bedroom apartments start at $700,000 and three-bedders from just over $1 million,' says Frasers Centrepoint Homes chief operating officer Cheang Kok Kheong.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">CDL's spokeswoman said Livia saw strong take-up of various unit types last week, especially two- and three-bedders. 'The four-bedroom apartments were purchased either for owner occupation or rental potential in view of United World College's East Campus coming up in the vicinity.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'The project's average price remains $650 psf, with prices for certain unit types and facing being upped by 1-3 per cent for the latest release of 120 units last weekend,' she added.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 96 units sold at Livia last week contrasted with sales of 160 units in the preceding week when CDL previewed the 99-year leasehold project, resulting in total sales of 256 units. So far, 320 of the condo's total 724 units have been released.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">A veteran property consultant said: 'Crowds were generally still very good at showflats last weekend, though take-up has slowed. In any development, demand for 30-40 per cent of units comes from the surrounding population catchment. Usually that's the case, good or bad times. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'Once sales in a project launch hits a certain percentage from this catchment demand, developers have to attract people from other parts of Singapore. That's a tougher job, with a lot more convincing to be done compared with selling to people who already know the area.'</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Another problem is that buyers are unsure of the property market's direction. 'Even when there are attractively priced projects, potential buyers worry if property prices will go down further. They also ask themselves whether they really need to upgrade; they worry about the economy and their jobs. The bad news coming out from financial institutions in the US is a big concern,' a property agent said.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">On a more positive note, Sim Lian's Ms Kuik said: 'If you have a good product in a location where there's a pool of buyers and if your pricing is reasonable, there will be take-up.'</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><em><span style="font-size:9pt;font-family:Verdana;">Source: Business Times</span></em></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Condo sales at showflats tapering off]]></title>
<link>http://idealresidence.wordpress.com/?p=2429</link>
<pubDate>Tue, 15 Jul 2008 01:32:50 +0000</pubDate>
<dc:creator>idealresidence</dc:creator>
<guid>http://idealresidence.wordpress.com/?p=2429</guid>
<description><![CDATA[Condo sales at showflats tapering off
One developer blames Livia&#8217;s pricing for &#8217;spoiling]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Condo sales at showflats tapering off</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">One developer blames Livia's pricing for 'spoiling' other projects' sales</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">WHILE City Developments managed to sell 96 units last week at its Livia condo at Pasir Ris, developers of most other projects suffered rapidly declining sales at their showflats.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">At least one developer blamed Livia's attractive pricing - $650 psf on average - for 'spoiling' sales of other projects, while others said a tapering off was to be expected given negative news flows from overseas on the state of the financial and stock markets.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Developers and property agents generally reported still strong turnouts at showflats last weekend, although take-up slowed.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Sim Lian sold 19 units last week at its Clover By The Park condo in Bishan, less than the 59-unit sales it achieved in the preceding week. To date, Sim Lian has sold 273 of the total 616 units in the project. 'That's almost 45 per cent of a large project in just three weeks; that's quite an achievement given current market sentiment,' Sim Lian Group executive director Diana Kuik said when approached by BT.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 99-year leasehold project's average price remains at $750 psf.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Sim Lian also sold a unit at The Amery, a freehold project in the Telok Kurau area, last week - again a less sparkling performance than the four units it sold a week earlier.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Next to Geylang River, NTUC Choice Homes and Ho Bee found buyers for another nine units at Dakota Residences last weekend. This brings total sales to 170 units in the 99-year project, which has an average price of about $980 psf.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Over in the Kovan MRT Station vicinity, the developer of Kovan Residences sold about 20 units last week, bringing total sales to over 100 units since the 99-year project was previewed at a private party on June 28. The average price is somewhere in the $870-900 psf range. Nearby, MCL Land sold another three units at its D-Pavilion, a freehold project priced at $900 psf on average last week. This was a slower sales rate than initial sales of 10 units the preceding weekend.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The stakes will go up for these two developers when Frasers Centrepoint previews this weekend its Woodsville 28 near Potong Pasir MRT Station - which is three MRT stops closer to town than Kovan MRT Station.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 110-unit condo will have an average price of $880 psf. The 99-year leasehold development comprises two 17-storey blocks. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'The two- and three-bedder units, with respective average sizes of 883 sq ft and 1,195 sq ft, are about 5 to 6 per cent smaller than conventional units as we've adjusted our sizes to fit the profile of the market we're targeting - those just starting their families or young couples who want to stay near the city and even retirees. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'Two-bedroom apartments start at $700,000 and three-bedders from just over $1 million,' says Frasers Centrepoint Homes chief operating officer Cheang Kok Kheong.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">CDL's spokeswoman said Livia saw strong take-up of various unit types last week, especially two- and three-bedders. 'The four-bedroom apartments were purchased either for owner occupation or rental potential in view of United World College's East Campus coming up in the vicinity.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'The project's average price remains $650 psf, with prices for certain unit types and facing being upped by 1-3 per cent for the latest release of 120 units last weekend,' she added.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">The 96 units sold at Livia last week contrasted with sales of 160 units in the preceding week when CDL previewed the 99-year leasehold project, resulting in total sales of 256 units. So far, 320 of the condo's total 724 units have been released.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">A veteran property consultant said: 'Crowds were generally still very good at showflats last weekend, though take-up has slowed. In any development, demand for 30-40 per cent of units comes from the surrounding population catchment. Usually that's the case, good or bad times. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">'Once sales in a project launch hits a certain percentage from this catchment demand, developers have to attract people from other parts of Singapore. That's a tougher job, with a lot more convincing to be done compared with selling to people who already know the area.'</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">Another problem is that buyers are unsure of the property market's direction. 'Even when there are attractively priced projects, potential buyers worry if property prices will go down further. They also ask themselves whether they really need to upgrade; they worry about the economy and their jobs. The bad news coming out from financial institutions in the US is a big concern,' a property agent said.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;">On a more positive note, Sim Lian's Ms Kuik said: 'If you have a good product in a location where there's a pool of buyers and if your pricing is reasonable, there will be take-up.'</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:9pt;font-family:Verdana;"> </span></p>
<p class="MsoNormal" style="margin:0;"><em><span style="font-size:9pt;font-family:Verdana;">Source: Business Times</span></em></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Design and Dev working together in Silverlight.]]></title>
<link>http://agkdesign.wordpress.com/2008/07/15/design-and-dev-working-together-in-silverlight/</link>
<pubDate>Tue, 15 Jul 2008 00:53:36 +0000</pubDate>
<dc:creator>agkdesign</dc:creator>
<guid>http://agkdesign.wordpress.com/2008/07/15/design-and-dev-working-together-in-silverlight/</guid>
<description><![CDATA[As a Silverlight designer, I&#8217;m starting to get a real world feel for designing web application]]></description>
<content:encoded><![CDATA[<p>As a Silverlight designer, I'm starting to get a real world feel for designing web applications in Silverlight and learning how developers and designers can work together easily within the Silverlight platform.</p>
<p>And let me tell you, with a little bit of organisation, it's just awesome!</p>
<p>For those who are unaware, Silverlight gives a Designers and Developers the ability to work seamlessly together when creating rich, great looking web applications. But with all the hype and marketing out there about it, who knows what the real story is.</p>
<p>So lets have a quick look at the different ways you can set up you workflow for that next sweet application.</p>
<p>There are few different ways you can work together:</p>
<ul>
<li>
<ul>
<li>Create the code first</li>
<li>Create the design first</li>
</ul>
</li>
<li>Design and develop at the same time!</li>
</ul>
<p><strong><br />
Create the code first:</strong></p>
<p>So if you decide that the developer should just create the application and let the designer skin it later, this is a pretty easy way to do things, the developer should be able to throw together the application with code and roughly lay out some buttons and what ever else is needed and then the designer can go into blend with that information and make it look sweet. This is my preferred choice of workflow. I will just receive an application that is basic in look but rich in functionality, in which I can load into blend and start shining it up.</p>
<p><strong>Create the design first:</strong></p>
<p>If this is the case, its best to do a little ground work before you start the design and build process, make sure you know exactly what you need to have for you application and how it should work. What buttons need to be on the screen, where the information will go and how much real estate on the screen that section needs, also you should look into weather the developer thinks some items should be created with "usercontrols" and such.</p>
<p><strong>Design and develop at the same time!:</strong></p>
<p>This is awesome if you need to fast track a project a little, but DO YOUR RESEARCH FIRST. Get together with your developer and make sure you pen out the project from start to finish, this includes things like naming conventions for buttons and animations and anything you will be doing. You want your application to just fit together nicely with the code, and once you have both done your part of the deal, bring them together but swapping over the XAML or the code behind files and VOILA! Hopefully you have a sweet little application made in a flash.</p>
<p>So with that said, I guess it comes down to personal preference and what works best for the team working on the project. The best way to find out what works best is try them out and with more projects you will quickly find out what works and what doesn't. Just remember to be organised and not dive head first into a project, because you will end up with a great looking design that doesn't have anything to do with what your developer had in mind.</p>
<p>Alex</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Switching to Mac? Think Again.]]></title>
<link>http://earthsabpisal.wordpress.com/2008/07/19/switching-to-mac-think-again/</link>
<pubDate>Sat, 19 Jul 2008 14:29:49 +0000</pubDate>
<dc:creator>earthsabpisal</dc:creator>
<guid>http://earthsabpisal.wordpress.com/2008/07/19/switching-to-mac-think-again/</guid>
<description><![CDATA[I&#8217;m not saying Mac suck. It doesn&#8217;t, I like it a lot. However, it is as unfortunate as i]]></description>
<content:encoded><![CDATA[<blockquote><p>I'm not saying Mac suck. It doesn't, I like it a lot. However, it is as unfortunate as it may seem : the world we live in is,was and always will be dominated by Microsoft. I'm not saying Microsoft suck either, their customer support is way better than Apple's if you ask me. I switched to Mac couple years ago and now I've switched back to Windows (that's right Microsoft Windows). Mainly because compatibility issues and the limitation that the Mac have. Most people may know that more software are available to the Windows Platform, it is relatively true but it doesn't mean OS X have only a software. Actually, There are million of OS X application out there but only some are satisfying and most of them aren't free, but don't bet on it. Mac OS X is all about innovation. What makes it so special is the innovation, not the application! Windows can do a thousand things that Mac can't - basically the Mac applications suck.</p>
<p><strong>Here is one example of how Apple turned a paper into a picture : Time Machine on OS X 10.5</strong></p>
<p><img src="http://blog.cokee.org/wp-content/picture-8.png" alt="" width="530" height="331" /><img src="http://www.microsoft.com/smallbusiness/support/checklist/images/Step%204_BackupRestoreCenter.jpg" alt="" width="344" height="273" /><img src="http://www.windows-xp-update.com/images/backup3.jpg" alt="" width="457" height="354" /></p>
<p>Look at the 3 images above (Time machine and <em>Windows Backup or Restore Wizard</em>)</p>
<p>Time Machine is a backup feature in Mac OS X Leopard (10.5). Windows has this feature too, it's called <em>Windows Backup or Restore Wizard</em>. It shipped with Windows XP yet Apple claimed to have invented such feature. In Windows Backup or Restore Wizard you can configure it the way it suite you. In <em>Time Machine</em>, don't count on it.</p>
<p><strong><span style="text-decoration:underline;">here is a short skit</span></strong></p>
<p><strong>Time Machine :</strong> It's the Time Machine!! Wow! Look nice doesn't it. What does it do? It take you back in time and rescue your files!</p>
<p><strong>PC :</strong> It's the Windows Back or Restore Wizard!! Huh? What does it do? It Restore and Backup your files! O'realli what's that?</p>
<p>Usually when i use a mac i feel great, but when i launch a third party app it ruined everything. The Mac itself is good but the 3rd party applications aren't so good. Adobe Flex tends to run better on Windows, so as Dreamweaver CS3. Mac is great without 3rd party applications but unfortunately we do need 3rd party apps. Things are worse for Java Applications, they suck on OS X not to mention Eclipse and other cross-platform stuff. For me Mac OS X is not robust at all. At this point life is difficult for OS X developers compared to Windows developers. It is preconfigured with Java runtime, Apache, PHP so what. Most people say mac is good for Music, video editing, fun stuff! Right, i hardly use the iPhoto make an album wizard. Beside those applications are not free and your OS will be obsolete within 1 - 2 years. Then Apple would simply cut you off from it's orbit. Sounds evil. Hmm..If you are buying a mac think about what are you going to do with it. Think before you buy, what make mac so special?</p></blockquote>
<ul>
<li> 
<ul>
<li>It's certainly not good for<strong> gamers.</strong></li>
<li>It's certainly not good for  <strong>web developers.</strong></li>
<li>It's certainly not good for <strong>programmer.</strong></li>
<li>It's alright for school/work but you may experience some compatibility problem because office for mac is truly buggy.</li>
</ul>
</li>
</ul>
<blockquote><p><strong><span style="text-decoration:underline;">Let's see how Apple look at it (source : <a title="http://www.apple.com/getamac/" href="http://www.apple.com/getamac/">http://www.apple.com/getamac/</a>)</span></strong></p></blockquote>
<blockquote><p>If you spend more time trying to get your computer to work and less time doing what you want, it’s time to get a Mac.<br />
<strong><span style="text-decoration:underline;">Response : </span></strong>Not true for me, Mac is full of eye-candy. Sometimes i get too carried away with it. Even if i try to do what I am doing, as I've mentioned 3rd party applications on mac are mostly slow (eg. Word 2008 on  a mac slow me down most of the time I prefer working on Windows 2000)</p>
<p>Since the software on every Mac is created by the same company that makes the Mac itself, you get a completely integrated computer that’s as secure, stable, and powerful as it is elegant and easy to use.<br />
<strong>Response : </strong>so apple want the users to stick with iLife iWork iMovie TextEdit??</p></blockquote>
<blockquote>
<ul>
<li>
<h5>Brains…</h5>
</li>
</ul>
<p>What’s inside a Mac? Only the world’s most advanced operating system and a suite of software that’s just as brilliantly designed as the computer itself.</p>
<ul>
<li>
<h4>It does what a PC does, only better.</h4>
</li>
</ul>
<p>A Mac has all the essentials built right in, including the latest wireless technology, advanced Intel chips, and a rock solid operating system that’s loaded with innovations.</p></blockquote>
<ul>
<li>No other operating system — Vista included — offers the innovation and simplicity of Mac OS X. With Mac OS X Leopard, the Mac leaps even further ahead with new features that let you do more with less effort</li>
</ul>
<blockquote><p><strong>Response : </strong>That's just bias. Apple always make themselves look superior. Mac ads are always offensive.</p></blockquote>
<blockquote>
<ul>
<li>
<h5>Born ready.</h5>
</li>
</ul>
<p>Unlike other computers that require you to spend hours configuring devices, a Mac connects to your digital camera, wireless device, or external drive and just works. Really.</p>
<p><strong>Response : </strong>That's because you make your own computer, Apple. It's no big deal for average PCs either. Most manufacturer provides their customer with driver CD/DVD or you can always download them from the manufacturer website.</p></blockquote>
<blockquote><p><strong>Also, why would Apple need to be able to run Windows when they're saying Windows suck and Mac is much better? </strong>Think about it.</p>
<p>Good luck on switching. :D</p></blockquote>
]]></content:encoded>
</item>
<item>
<title><![CDATA[HTTP Verb manipulation Attack Demystified]]></title>
<link>http://ammasajan.wordpress.com/?p=258</link>
<pubDate>Fri, 18 Jul 2008 05:18:22 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=258</guid>
<description><![CDATA[Recently Arshan Dabirsiaghi, Director of Research of Aspect Security, published a white paper entitl]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">Recently <a href="http://i8jesus.com/">Arshan Dabirsiaghi</a>, Director of Research of Aspect Security, published a white paper entitled “<a href="http://www.aspectsecurity.com/documents/Bypassing_VBAAC_with_HTTP_Verb_Tampering.pdf">Bypassing URL Authentication and Authorization with HTTP Verb Tampering</a>”. <a href="http://www.webappsec.org/lists/websecurity/archive/2008-05/msg00072.html">Initially there was a lot of confusion</a> about what exactly was being explained or claimed.</p>
<p>1) No one is claiming the HTTP Verb (GET/POST/HEAD) manipulation is new. Manipulating what type of HTTP request a webapp is expecting to receive, such changing GET to POST and POST to GET, has been done for years. Our websites should only be using the types of requests we expect to receive and no more. What is interesting here is when it can be used and for what purpose.</p>
<p style="text-align:justify;"><!--more--></p>
<p>2) HTTP Verb tampering is generally used in conjunction with syntactic (XSS, SQLi, etc.) and semantic (bypass authentication/authorization controls) attacks as way to bypass certain defense measures. Arshan’s work on implementation details focus on the semantic version.</p>
<p>3) In syntactic attacks you can use verb manipulation to get malicious data (‘ DROP TABLE …’) in a session object that might now have otherwise been allowed. i.e. Query string parameters were sanity checked, but the attacker used POST placing the data in the message body where it was overlooked by the application. This can lead to SQLi, XSS, and several other common technical vulnerabilities.</p>
<p>4) To protect yourself from syntactic HTTP verb manipulation attacks, make sure you only include user-supplied data from where it’s expected to be received (Query string or POST data), or sanity check them both the same if necessary. Also only include the parameter names in the session object you expect to receive. Don’t allow attackers to add arbitrary name/value pairs.</p>
<p>5) In semantic attacks verb manipulation can be used to bypass authorization/authentication protection for specific verbs and areas of the site. A config might say HTTP requests to the /admin/* directory using “GET” must have an “admin” session role. One would ASSUME any methods not listed (POST, HEAD, WHATEVER) in the config would automatically be placed in default-deny mode, but this is not necessarily the case. RFC’s say the HEAD verb is supposed to be treated exactly the same as GET, just don’t return any response data. So its possible for an attacker to send a request to /admin/delete_user.cgi?id=1 with a HEAD verb with no authentication/authorization. They just wouldn’t get a response to the action and certain frameworks are known to be vulnerable to similar attacks. Nasty stuff and commonly goes untested for.</p>
<p>6) There are several things one can do to protect themselves, the most direct is ensuring ALL HTTP verbs are placed in default-deny mode unless otherwise specified. What you are looking for in consistency of authentication/authorization controls across the various methods you expect to receive. Addition details are going to be implementation specific and can be found in the white paper or list chatter.</p>
<p>7) Scanning for syntactic issues is possible, but can easily double or triple the number of requests that need to be sent. Varying degrees of effectiveness are wide across the commercial vendor range. Scanning for semantic issues is going to be extremely hard and likely to be a manual process for quite some time. Its basically a business logic flaw even though the scanner can technically manipulate the verb, it just doesn’t know what the outcome of a test means.</p>
<p>Overall good paper, I learned some good stuff about the particulars of certain implementations. Plus it sparked a lot of good debate. Hope this helps clear some things up. :D
</p>
<p style="text-align:justify;"><span style="color:#c0c0c0;">Source:whitehat security</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Do you think Linux free from Malwares]]></title>
<link>http://ammasajan.wordpress.com/?p=255</link>
<pubDate>Fri, 18 Jul 2008 05:12:45 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=255</guid>
<description><![CDATA[There is no such a system called 100% Secure System.  
I think we all can agree that 100% security i]]></description>
<content:encoded><![CDATA[<p style="text-align:justify;">There is no such a system called 100% Secure System. :D</p>
<p style="text-align:justify;">I think we all can agree that 100% security is impossible, even when adding layer upon layer of defenses, systems will fail eventually. Furthermore too much emphasis on obtaining “perfect” security will result in diminishing returns. When you get right down to it though what we’re really trying to do is keep the bad guys from compromising our websites and that doesn’t necessarily require 100% security. The challenge is finding the right balance between resources put in (time / money) and adequately reducing (not eliminating) the likelihood of getting hacked. Still often people mistakenly try to accomplish one by doing the other. :D</p>
<p style="text-align:justify;">Specifically, I disagree with this assertion from the article:<br />
"A virus is simply a Windows program, so it doesn't run in Linux."
</p>
<p style="text-align:justify;">That's an inaccurate definition of the term "virus" which seems to suggest there are no virii for any operating systems other than Windows.</p>
<p style="text-align:justify;">Also malware includes not just virii, but worms, trojans and root-kits. These known and widely available tools are not the only options available to intruders either.</p>
<p style="text-align:justify;">GNU/Linux users should not have any false sense of security just based on the fact that viruses designed for exclusively for windows won't run on GNU/Linux.</p>
<p style="text-align:justify;">Here is a list of <a rel="nofollow" href="http://en.wikipedia.org/wiki/List_of_Linux_computer_viruses">"Linux computer viruses"</a> according to a page on wikipedia.org.</p>
<p style="text-align:justify;">The following excerpt lists various kinds of malware, not just virii:</p>
<pre style="text-align:justify;">The following is a partial list of known Linux malware:
<!--more-->
 Trojans

    * Kaiten - Linux.Backdoor.Kaiten trojan horse[5]
    * Rexob - Linux.Backdoor.Rexob trojan[6]

 Viruses

    * Alaeda - Virus.Linux.Alaeda[7]
    * Bad Bunny - Perl.Badbunny[4][8]
    * Binom - Linux/Binom[9]
    * Bliss
    * Brundle[10]
    * Bukowski[11]
    * Diesel - Virus.Linux.Diesel.962[12]
    * Kagob a - Virus.Linux.Kagob.a[13]
    * Kagob b - Virus.Linux.Kagob.b[14]
    * MetaPHOR (also known as Simile)[15]
    * Nuxbee - Virus.Linux.Nuxbee.1403[16]
    * OSF.8759
    * Podloso - Linux.Podloso (The iPod virus)[17][18]
    * Rike - Virus.Linux.Rike.1627[19]
    * RST - Virus.Linux.RST.a[20]
    * Satyr - Virus.Linux.Satyr.a[21]
    * Staog
    * Vit - Virus.Linux.Vit.4096[22]
    * Winter - Virus.Linux.Winter.341[23]
    * Winux (also known as Lindose and PEElf[24]
    * ZipWorm - Virus.Linux.ZipWorm[25]

 Worms

    * Adm - Net-Worm.Linux.Adm[26]
    * Adore[27]
    * Cheese - Net-Worm.Linux.Cheese[28]
    * Devnull
    * Kork[29]
    * Linux/Lion (also known as Ramen)
    * Mighty - Net-Worm.Linux.Mighty[30]
    * Millen - Linux.Millen.Worm[31]
    * Slapper[32]
    * SSH Bruteforce[33]</pre>
<p style="text-align:justify;">We're all still responsible as individuals for our own information security. It's not good to have a false sense of security just because windows malware doesn't run on GNU/Linux systems.</p>
<p style="text-align:justify;">Should we scan our GNU/Linux system for malware or hostile network activity? I wouldn't recommend against the idea. Neither would I suggest people buy any proprietary software to handle the task. Using proprietary software for your security is ironic, since using proprietary software compromises your privacy, autonomy and security by default.</p>
<p style="text-align:justify;">Getting familiar with Nmap, Snort, Firestarter, Squid, Tor, GPG, and ClamAV would be a good start for those who choose to remain responsible for their own security. One might also try auditing their wireless network with air-crack.</p>
<p>Better to be aware of your vulnerabilities (however few or many they may be) instead of putting absolute confidence in the security of pre-configured software downloaded from repositories.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Simple Python Tutorial for Beginners]]></title>
<link>http://ammasajan.wordpress.com/?p=253</link>
<pubDate>Fri, 18 Jul 2008 04:58:17 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=253</guid>
<description><![CDATA[What Is Python?
Python is a dynamic object-oriented programming language that can be used for many k]]></description>
<content:encoded><![CDATA[<h2 style="text-align:justify;"><span>What Is Python?</span></h2>
<p style="text-align:justify;">Python is a dynamic object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of higher quality, more maintainable code. [source: python.org]</p>
<p style="text-align:justify;">Python was created by Guido van Rossum, who now works for Google. As a result, the company uses Python extensively in its various web services, most recently <a title="http://code.google.com/appengine/" rel="nofollow" href="http://code.google.com/appengine/" target="_blank">App Engine</a> (you can refer my previous posts about App Engine and developer licensing details). Even though we joked around about Python exhibiting some likeness to its slithering namesake, the language takes its name from Monty Python's Flying Circus, which is why many Python tutorials feature shameless Monty Python puns. This one is no exception.</p>
<p style="text-align:justify;"><!--more--></p>
<p style="text-align:justify;"><a name="Advantages" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Advantages</span></h3>
<p style="text-align:justify;"><strong>Simple Clean Syntax</strong><br />
Python has an extremely simple syntax. It has comparatively few keywords and well written code in Python tends to remain extremely readable years after it was written. Much has been made about using white space to denote code blocks in Python, however users of the language will note this adds to readability and standardizes code formatting across the Python community.</p>
<p style="text-align:justify;"><strong>Object Oriented</strong><br />
Python has advantages over other object-oriented languages. In Python every thing is object. In some object oriented languages like Java, almost everything is object, but there almost always seems to be an exception. This creates some rather clunky syntactical maneuvering. There is no such problem in Python. In Python, the so-called primitive types are objects, functions are objects and code blocks are objects -- this allows for a more natural programming style.</p>
<p style="text-align:justify;"><strong>No One Style Enforced</strong><br />
What if object orientation isn't really your thing? Maybe you only write 50-line text processing scripts and have no need to write complex objects. Well, you will find Python perfectly suited for your needs. While Python has advanced object oriented design elements, it doesn't force you to use them. You can write large programs in the procedural style in Python and never be bothered to learn the object oriented way of doing things. Python also supports some functional programming constructs like anonymous one-line functions (using the Lambda keyword) and cool features like list comprehension.</p>
<p style="text-align:justify;"><strong>Standard Library</strong><br />
Python's biggest advantage is perhaps its large all inclusive standard library. Unlike many other open-source languages, Python has almost everything you need to write almost any type of application included. So whether you are writing a database-backed web application or a cross platform networked console application, be sure that the standard library has you covered. If for some reason you need more than is provided by the standard library, there are many, many third party libraries out there. They cover everything from industry standard encryption libraries to 3D graphics frameworks.
</p>
<p style="text-align:justify;"><a name="Uses" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Uses</span></h3>
<p style="text-align:justify;">Python is a compiled application that can be installed in a variety of environments -- your desktop, a web server or embedded devices like your phone. Python can run on all the major platforms and comes pre-installed on Mac OS X and most Linux distros.</p>
<p style="text-align:justify;">There are two main ways to use Python -- either by starting it directly from the command line or by calling an external script. Obviously, the latter method is much more flexible unless you're just doing a quick one-time program.</p>
<p style="text-align:justify;">If you're running Python on a web server, you can serve your scripts from a cgi-bin folder just as you would with a Perl script. There are also faster, more robust options like mod_python or mod_wsgi, two Apache modules that call on the Python interpreter to process your pages.</p>
<p style="text-align:justify;">Before we dig in, you should know about a site called <a title="http://www.python.org/" rel="nofollow" href="http://www.python.org/" target="_blank">Python.org</a>. Python is an open-source language, and Python.org is its control center, with <a title="http://docs.python.org/ref/ref.html" rel="nofollow" href="http://docs.python.org/ref/ref.html" target="_blank">extensive reference material</a>, additional tutorials and <a title="http://docs.python.org/lib/lib.html" rel="nofollow" href="http://docs.python.org/lib/lib.html" target="_blank">a complete library</a> of all the elements available in Python.</p>
<p style="text-align:justify;"><a name="Installing_Python" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Installing Python</span></h2>
<p style="text-align:justify;">Python code can be written as scripts and saved in text files with the .py extension. There's also a shell interpreter that makes it very easy to get started just by typing <code>python</code> into your shell prompt. For now, that's what we'll be using to show some of the basic language principles.</p>
<p style="text-align:justify;">Go ahead and fire up a terminal window and type <code>python</code>. If you have Python installed, you'll get a message like this:</p>
<pre style="text-align:justify;">Python 2.4.4 (#1, Oct 18 2006, 10:34:39)
[GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
&#62;&#62;&#62;</pre>
<p style="text-align:justify;"><strong>Tip:</strong> The three angle brackets are the standard Python command prompt which lets you know you're now using the Python interpreter. Any time you see code snippets written with the &#62;&#62;&#62; you know the author is referring to the Python shell.</p>
<p style="text-align:justify;">If typing <code>python</code> in your shell didn't load the interpreter, you'll need to install Python. You can <a title="http://www.python.org/download/" rel="nofollow" href="http://www.python.org/download/" target="_blank">download the source</a> from the Python website or use one of the many package installers available for most platforms.</p>
<p style="text-align:justify;">As of this writing, the latest version of Python is 2.5.2. Mac OS X and most Linux distros ship with Python 2.5. Windows users may need to install the latest version.</p>
<p style="text-align:justify;">Although Python 2.5 offers some nice new features over previous versions, for backwards compatibility reasons we'll stick to concepts and tools that will work with Python 2.3 and greater.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="Python_Differences" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Python Differences</span></h2>
<p style="text-align:justify;">For the most part, Python behaves much like PHP, Perl, Ruby and other languages you may be familiar with. However, there are some important and noteworthy differences.</p>
<p style="text-align:justify;">Perhaps the most obvious (and Python aficionados would argue, important) is that line breaks and indentions in your code have meaning in Python. Whereas PHP and others use a semicolon or other mark to designate the end of a line, Python sees all new lines as, well, new lines.</p>
<p style="text-align:justify;">Also where PHP and others use angle brackets to enclose code blocks, Python merely wants the code indented.</p>
<p style="text-align:justify;">Python forces you to properly indent code blocks and eschews end-of-line punctuation like PHP's semicolons in favor of simple line breaks.</p>
<p style="text-align:justify;">This has some import consequences. First and foremost, it makes Python code much easier to read. The structure of a Python script is a snap to figure out at first glance. Even if you have no idea what the code is doing, you can tell how it does it just by glancing at it.</p>
<p style="text-align:justify;">Python forces neat, well structured code, but it also forces you pay more attention to how you write your code. Consider the following two code snippets, which do very different things:</p>
<pre style="text-align:justify;">def myfunction():
    if x == y:
        return True</pre>
<pre style="text-align:justify;">def myfunction():
    if x == y:
    return true;</pre>
<p style="text-align:justify;">In the first code block our return statement is indented, and therefore within the if statement. In the second code block we didn't indent the return statement so that function always returns true, regardless of our if test. Technically, that second function would generate an error because Python expects an indented block after the colon.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="Spaces_versus_Tabs" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Spaces versus Tabs</span></h3>
<p style="text-align:justify;">As the joke goes, the most popular way to write Python code is to indent with spaces. The second most popular way to write Python is with tabs. Most good text editors have an "entab/detab" function which can convert tabs to spaces and vice versa.</p>
<p style="text-align:justify;">The important thing is to be consistent. <strong>Don't mix tab and space indenting in the same script!</strong> Doing so will cause Python to throw an error and your code won't execute.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="Getting_Started" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Getting Started</span></h2>
<p style="text-align:justify;">Assuming you've got Python installed, fire up a shell window and type <code>python</code> to start the interpreter. Here's a simple script. Just type <code>print 'hello world'</code> and hit return.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; print 'hello world'
hello world
&#62;&#62;&#62;</pre>
<p style="text-align:justify;">Any time you want feedback from Python, use the <code>print</code> statement. As with any language, Python has built-in tools for doing common things, like in this case, printing something out.</p>
<p style="text-align:justify;">Let's create some variable assignments and play around with some of Python's built-in types. We'll start by creating a string and playing around with it:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; x = 'spam'
&#62;&#62;&#62; x[0]
's'
&#62;&#62;&#62; x[:1]
's'
&#62;&#62;&#62; x[1:]
'pam'</pre>
<p style="text-align:justify;">The first line just assigns x the value of "spam." Python is dynamically typed language, that is, there's no need to tell Python that x is going to be a string, it will figure that out at run time.</p>
<p style="text-align:justify;">It's also worth noting that Python is a strongly typed language, which means that "types" are always enforced. If you try to treat x as a number after you've already assigned it a string value, Python will throw an error. In order to use x as a number, you'd have the explicitly recast x as a number first.</p>
<p style="text-align:justify;">The next line <code>x[0]</code> shows how Python's treats strings -- much like a list (array) with each letter being like an element of the list. The <code>x[:1]</code> is an example of Python's slicing methods. The basic syntax is <code>variable[start:end]</code>. Slice indices always start with 0 and by default, omitting first index defaults that value to zero, while omitting second index defaults to the size of the string/list.</p>
<p style="text-align:justify;">Here are few more operators:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; x = 'spam'
&#62;&#62;&#62; len(x)
4
&#62;&#62;&#62; y = x
&#62;&#62;&#62; x = 'knights'
&#62;&#62;&#62; y
'spam'
&#62;&#62;&#62;</pre>
<p style="text-align:justify;">Note that last sequence, we set a new variable y to the value of x and then change the value of x, but y stays the same. In other words, y doesn't become a reference to x, it's a new variable with the value of x. Just because x changes doesn't mean y will as well.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="More_Strings.2C_Formatting_and_Comments" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>More Strings, Formatting and Comments</span></h2>
<p style="text-align:justify;">We already know that line endings and indentions matter in Python, but what about within Python strings? For instance:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; long_string = "Python is the best language ever, but I will\n\
... keep that to myself and not start flame wars on Slashdot.\n\
... Just because\n\
...     I think it's the best doesn't mean everyone needs to"
&#62;&#62;&#62; long_string
"Python is the best language ever, but I will\nkeep that to myself and not start flame wars on Slashdot.\nJust because\n\tI think it's the best doesn't mean everyone needs to"
&#62;&#62;&#62; print long_string
Python is the best language ever, but I will
keep that to myself and not start flame wars on Slashdot.
Just because
        I think it's the best doesn't mean everyone needs to
&#62;&#62;&#62;</pre>
<p style="text-align:justify;">So what's going on here? How did we write multiple lines if line breaks mean the end of a line? The trick is the <code>\</code> which tells Python to ignore the end of the line. Also note the difference between calling our variable directly and printing it using the <code>print</code> statement.</p>
<p style="text-align:justify;">Escaping line breaks with a backslash also works within normal Python code blocks as well, not just within strings. In some cases it can help make your code more readable.</p>
<p style="text-align:justify;">The other Python concept that might look a bit funny to those coming from other languages is the string formatting tools. In other languages the common way to add data to a string is to just concatenate the string like this:</p>
<pre style="text-align:justify;">"the beginning of a sentence" + variable_data + "the end of a sentence"</pre>
<p style="text-align:justify;">
While this will work in Python as well, there is a far more elegant way to write it using the <code>%s</code> operator.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; b = 'beginning of a sentence'
&#62;&#62;&#62; e = 'end of a sentence'
&#62;&#62;&#62; v = 'variable data'
&#62;&#62;&#62; '%s, %s, %s' %(b, v, e)
'beginning of a sentence, variable data, end of a sentence'</pre>
</p>
<p style="text-align:justify;">
The other nice thing about using <code>%s</code> is that it will force the value to a string, whereas straight concatenation won't.
</p>
<p style="text-align:justify;"><strong>Note:</strong> There is a similar <code>%f</code> for inserting numbers into a string.</p>
<p style="text-align:justify;">One last thing about strings (aside from them being super-absorbant and perfect for doing away with floods and tidal waves).</p>
<p style="text-align:justify;">To create comments in Python you have several options. Like Perl, the hash mark can be used for inline comments, like so:</p>
<pre style="text-align:justify;">x = 'spam' #initial value</pre>
<p style="text-align:justify;">The other way to comment your code is with triple quotes:</p>
<pre style="text-align:justify;">def superfunction(params):
   """ The super function can do things you've only dreamed of"""
   print 'Spam!'</pre>
<p style="text-align:justify;">
As it happens, this particular use of a comment as the beginning of a function definition is special type in Python known as a doc string. You can even access it in your code!
</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="Lists.2C_Dictionaries_and_Tuples" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Lists, Dictionaries and Tuples</span></h2>
<p style="text-align:justify;">Arrays are one of the most useful constructs in a language. They allow you to store and manipulate compound data. Python has three distinct objects for handling compound data types: lists, dictionaries and tuples.</p>
<p style="text-align:justify;"><a name="Lists" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Lists</span></h3>
<p style="text-align:justify;">Perhaps the most useful is the list, which is pretty straightforward; it's a list of data:</p>
<pre style="text-align:justify;">&#62;&#62; l = ['spam', 'ham', 314, 23]
&#62;&#62;&#62; l
['spam', 'ham', 314, 23]
&#62;&#62;&#62; l[0]
'spam'</pre>
<p style="text-align:justify;">As you can see, we construct a list using square brackets and assign it to the variable <code>l</code>. From there, we can get the whole list by calling it directly or access individual list members using a zero-based index, just like we did earlier with the strings.</p>
<p style="text-align:justify;">Also note that lists can mix together any data-type you want. Here, we used both numbers and strings, but you could add anything you want -- even other lists.</p>
<p style="text-align:justify;">Lists can do some other neat tricks. For instance, let's try replacing some items:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; l[0] = 'monkey'
&#62;&#62;&#62; l
['monkey', 'ham', 314, 23]
&#62;&#62;&#62; # slightly more complex replace method:
&#62;&#62;&#62; l[0:2] = ['banana', 18]
&#62;&#62;&#62; l
['banana', 18, 314, 23]
&#62;&#62;&#62; # we can even insert the list itself:
&#62;&#62;&#62; l[:0] = l
&#62;&#62;&#62; l
['banana', 18, 314, 23, 'banana', 18, 314, 23]</pre>
<p style="text-align:justify;">
As you can see, lists are mutable. You can do pretty much anything you want with them. As you start getting more comfortable with Python, you'll find yourself using lists all the time. Be sure to check out the Python docs for <a title="http://www.python.org/doc/current/lib/typesseq-mutable.html" rel="nofollow" href="http://www.python.org/doc/current/lib/typesseq-mutable.html" target="_blank">a complete list of list methods</a>.
</p>
<p style="text-align:justify;"><a name="Dictionaries" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Dictionaries</span></h3>
<p style="text-align:justify;">Another useful compound data-type is the dictionary. A Python dictionary is created using curly brackets, like so:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; d = {"monkey":"banana", "spam":"eggs"}
&#62;&#62;&#62; d
{'monkey': 'banana', 'spam': 'eggs'}</pre>
<p style="text-align:justify;">
The name:value pairs are the dictionaries keys and values. To access dictionary data you just call the key using the square bracket syntax like lists, but instead of a number you'll use a key:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; d['monkey']
'banana'
&#62;&#62;&#62; #try to call something that doesn't exist and you'll get a KeyError.
&#62;&#62;&#62; #this means that you can't get keys from values:
&#62;&#62;&#62; d['banana']
Traceback (most recent call last):
  File "&#60;stdin&#62;", line 1, in ?
KeyError: 'monkey'</pre>
</p>
<p style="text-align:justify;">Like lists, dictionaries are mutable, which means you can add key:value pairs whenever you want. Just keep in mind two things: you can't have duplicate keys, as the second will overwrite the first, and key names are case sensitive.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; #Start with an empty dictionary
&#62;&#62;&#62; d = {}
&#62;&#62;&#62; # add two key:value pairs
&#62;&#62;&#62; d['monkey'] = 'banana'
&#62;&#62;&#62; d['spam'] = 'eggs'
&#62;&#62;&#62; d
{'monkey': 'banana', 'spam': 'eggs'}
&#62;&#62;&#62; #try to add another monkey key
&#62;&#62;&#62; d['monkey'] = 'wrench'
&#62;&#62;&#62; # oops, we overwrote the original value:
&#62;&#62;&#62; d
{'monkey': 'wrench', 'spam': 'eggs'}</pre>
<p style="text-align:justify;">
As with lists, dictionaries can store any type of data you want. Even dictionary keys can be a variety of data-types, so long as the data-type is immutable (i.e. strings, integers, tuples, et cetera). And you can mix and match data-types within the same dictionary.
</p>
<p style="text-align:justify;">For more details on what sort of manipulations you can perform with dictionaries, check out <a title="http://www.python.org/doc/current/lib/typesmapping.html" rel="nofollow" href="http://www.python.org/doc/current/lib/typesmapping.html" target="_blank">the Python documentation page</a>.</p>
<p style="text-align:justify;"><a name="Tuples" target="_blank"></a></p>
<h3 style="text-align:justify;"><span>Tuples</span></h3>
<p style="text-align:justify;">What the heck is a tuple? It's got a funny name, but it's just an immutable list. Once you stick data in a tuple you can never change it. Since you can't change anything about tuples, it wouldn't make much sense to have any methods for tuples. So, um, there aren't any.</p>
<p style="text-align:justify;">Tuples are created using parentheses, and data in a tuple can be accessed just as we did with a list. Beyond that, there isn't a lot to tell.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; t = ('spam', 'ham', 314, 23)
&#62;&#62;&#62; t
('spam', 'ham', 314, 23)
&#62;&#62;&#62; t[0]
'spam'
&#62;&#62;&#62; t[0] = 'eggs'
Traceback (most recent call last):
  File "&#60;stdin&#62;", line 1, in ?
TypeError: object does not support item assignment</pre>
<p style="text-align:justify;">
So you might be wondering, what's the point of a tuple if it behaves like a crippled list? The answer is that tuples are much much faster than lists. If you have data that you know isn't going to change, put it in a tuple.
</p>
<p style="text-align:justify;">Tuples are also handy for data that should not need to be changed, like in a private class method. Using a tuple instead of a list prevents outside tampering.</p>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="Assigning_Multiple_Values_at_Once" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Assigning Multiple Values at Once</span></h2>
<p style="text-align:justify;">One of the cool tricks in Python is ability to assign multiple variables values at the same time. For instance:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; m,s = 'monkey','spam'
&#62;&#62;&#62; m
'monkey'
&#62;&#62;&#62; s
'spam'</pre>
<p style="text-align:justify;">
But this gets much more powerful with more complex data. For instance we can also do this:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; a = ('b','c','d')
&#62;&#62;&#62; (x, y, z) = a
&#62;&#62;&#62; x
'b'</pre>
</p>
<p style="text-align:justify;">Another variation on this theme is the built-in range function. Consider this:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; range(7)
[0, 1, 2, 3, 4, 5, 6]
&#62;&#62;&#62; (Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday) = range(7)
&#62;&#62;&#62; Sunday
0</pre>
<p style="text-align:justify;">
<p style="text-align:justify;"><a name="The_Python_for_Loop" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>The Python <tt>for</tt> Loop</span></h2>
<p style="text-align:justify;">Of all the things that will have you scratching your head while learning Python, the <tt>for</tt> loop is probably the most obvious difference from other languages. Rather than iterating over a progression of numbers, or allowing you to define both the iteration step and halting condition (as in C), Python's <tt>for</tt> statement iterates over the items of any sequence (a list or a string), in the order that they appear in the sequence.</p>
<p style="text-align:justify;">The best way to understand how it works is to look at an example. In this case, we'll create a list and then loop through the values.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; a = ['spam', 'ham', 314, 23]
&#62;&#62;&#62; for b in a:
...     print b
...
spam
ham
314
23</pre>
<p style="text-align:justify;">Note that the variable <tt>b</tt> is totally arbitrary. You can name the iterator whatever you would like, preferably picking whatever makes the most sense. For instance, if your list holds a bunch of URLs, you might write <tt>for url in urls:</tt>.</p>
<p style="text-align:justify;">We'd use the exact same technique to loop through a tuple, a string and other data-types. But what about a dictionary? That's a little bit different, but we can borrow some of the multiple values techniques we mentioned above to help out.</p>
<pre style="text-align:justify;">&#62;&#62;&#62; dict = {'guido':'python','larry':'perl','rasmus':'php'}
&#62;&#62;&#62; for key in dict:
...     print key, 'created', dict[key]
...
larry created perl
rasmus created php
guido created python</pre>
<p style="text-align:justify;">It's worth noting that while Python's for loops are just as capable as those in other language, chances are you won't use them as much. Part of the reason is that Python offers something called a list comprehension which does something similar to what you might need a for loop for in other language.</p>
<p style="text-align:justify;">For instance suppose you have list of numbers and you want to perform some multiplication function on them. You might be tempted to do something like this:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; li = [0, 1, 1, 2, 3, 5]
&#62;&#62;&#62; for num in li:
...     new_num = num * 2
...     new_list = [new_num]
etc</pre>
<p style="text-align:justify;">But in Python, it's much easier to just use a list comprehension. Here's the same function in one line:</p>
<pre style="text-align:justify;">&#62;&#62;&#62; li = [0, 1, 1, 2, 3, 5]
&#62;&#62;&#62; [2*num for num in li]
[0, 2, 2, 4, 6, 10]
&#62;&#62;&#62; # or if you want to store the results:
&#62;&#62;&#62; new_li = [2*num for num in li]
&#62;&#62;&#62; new_li
[0, 2, 2, 4, 6, 10]</pre>
<p style="text-align:justify;">It may take a while to wrap your head around, but list comprehensions are very very powerful and well worth spending some time with so you understand not just how they work, but when and where to use them.</p>
<p style="text-align:justify;">Have a look at the <a title="http://www.python.org/doc/current/tut/node7.html#SECTION007140000000000000000" rel="nofollow" href="http://www.python.org/doc/current/tut/node7.html#SECTION007140000000000000000" target="_blank">official Python tutorial</a> for more information.</p>
<p style="text-align:justify;"><a name="Suggested_readings" target="_blank"></a></p>
<h2 style="text-align:justify;"><span> Suggested readings </span></h2>
<ul style="text-align:justify;">
<li> Learning Python, 3rd Edition, by Mark Lutz (O'Reilly)</li>
</ul>
<ul style="text-align:justify;">
<li> Also worth reading through is Mark Pilgrim's seminal <a title="http://diveintopython.org/toc/index.html" rel="nofollow" href="http://diveintopython.org/toc/index.html" target="_blank">Dive into Python</a> which covers some of the same ground we went over here, but also hits on some other areas of interest like parsing XML with Python's powerful DOM tools and attempting to demystify Unicode text handling in Python.</li>
</ul>
<p style="text-align:justify;"><a name="Conclusion" target="_blank"></a></p>
<h2 style="text-align:justify;"><span>Conclusion</span></h2>
<p style="text-align:justify;">So now you know how to say "nee!" and perform some basic operations using Python. If you'd like some more practice head over to the <a title="http://pypi.python.org/pypi/" rel="nofollow" href="http://pypi.python.org/pypi/" target="_blank">Cheese Shop</a> (we did warn you that the Monty Python puns were thick in the Python community), a site dedicated to Python scripts, and try downloading some things that look useful.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Info:CMM Standard Explained Simply]]></title>
<link>http://ammasajan.wordpress.com/?p=250</link>
<pubDate>Fri, 18 Jul 2008 04:53:59 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=250</guid>
<description><![CDATA[ Introduction 
CMM (Capability Maturity Model) is a model of process maturity for software developme]]></description>
<content:encoded><![CDATA[<h2 style="text-align:justify;"><span> Introduction </span></h2>
<p style="text-align:justify;">CMM (Capability Maturity Model) is a model of process maturity for software development - an evolutionary model of the progress of a companyÂ™s abilities to develop software.</p>
<p style="text-align:justify;">In November 1986, the American Software Engineering Institute (SEI) in cooperation with Mitre Corporation created the Capability Maturity Model for Software.</p>
<p style="text-align:justify;">Development of this model was necessary so that the U.S. federal government could objectively evaluate software providers and their abilities to manage large projects.</p>
<p style="text-align:justify;">Many companies had been completing their projects with significant overruns in schedule and budget. The development and application of CMM helps to solve this problem.</p>
<p style="text-align:justify;">The key concept of the standard is organizational maturity. A mature organization has clearly defined procedures for software development and project management. These procedures are adjusted and perfected as required.</p>
<p style="text-align:justify;"><!--more--></p>
<p style="text-align:justify;">In any software development company there are standards for processes of development, testing, and software application; and rules for appearance of final program code, components, interfaces, etc.</p>
<p style="text-align:justify;"><a name="What_you.27ll_need" target="_blank"></a></p>
<h2 style="text-align:justify;"><span> What you'll need </span></h2>
<p style="text-align:justify;">Experience in Software Industry is prefered but not mandatory.</p>
<p style="text-align:justify;">Also: An Overview of CMMI The CMMI Product Suite contains an enormous amount of information and guidance to help an organization improve its processes. But how does this information help? To answer this question, we start by noting that the CMMI models contain essentially two kinds of materials:</p>
<p style="text-align:justify;">Materials to help you evaluate the content of your processes Â”information that is essential to your technical, support, and managerial activities Materials to help you improve process performance Â”information that is used to increase the capability of your organization's activities We start with a brief look at each of these types of materials.</p>
<p style="text-align:justify;">1 Process Content CMMI provides guidance for your managerial processes. For example, you should establish and maintain a plan for managing your work, and make sure everyone involved is committed to performing and supporting the plan. When you plan, you should define exactly how you will develop and maintain cost, schedule, and product estimates. When you do the work that you have planned, you should compare the performance and progress against the plan, and initiate corrective actions if actual and planned results are out of synch. You should establish and maintain agreements with your suppliers and make sure that both parties satisfy them. CMMI also incorporates information on managing project risk and on creating and managing teams.</p>
<p style="text-align:justify;">CMMI guidance on technical matters includes ways to develop, derive, and manage requirements, and to develop technical solutions that meet those requirements. The integration of product components depends on good interface information, and CMMI reminds us that integration activities need to be planned and verified. In following the CMMI model, you should make sure that the products and services you develop are consistent with their original requirements and satisfy the customer's needs through verification and validation practices.</p>
<p style="text-align:justify;">Support processes for technical and managerial activities are also addressed as part of CMMI. You should always manage the versions and configurations of intermediate work products as well as end products and services. You should have methods for ensuring that the processes you have defined are followed and the products you are developing meet the quality specifications you have established. You need to decide which information is important and establish ways to measure and track it. In some cases, you need to plan ways to resolve issues formally. You may need to figure out the root cause of serious problems with your products or key processes.</p>
<p style="text-align:justify;">2 Process Improvement Once processes have been established, improving them becomes a key goal. The improvement information in CMMI models includes the creation of a viable, improvable process infrastructure. To build this infrastructure, CMMI includes ways to get your organization to focus on defining and following its processes. Through training and standardization, you can make sure all members of the organization know their roles and understand how to execute them in the process. The measurement data you collect can be applied to improve your process performance, to innovate when processes need to evolve, and to ensure that your organization is able to meet changing needs.</p>
<p style="text-align:justify;">Processes need to be planned just like projects, and it helps if the organization has given some weight and validity to process compliance through policy. You need to make sure that resources are available for trained, empowered people to perform the process. Those with a vested interest in a process need to be identified and involved. Work products that result from performing a process should be managed, the process documentation should be controlled, and progress against the process plan should be tracked as well. Someone should be responsible for objectively evaluating that the process is being followed, and management should be briefed periodically on process performance.</p>
<p style="text-align:justify;">Processes become more capable when they are standardized across the organization and their performance is monitored against historical data. With capable processes, you can detect variations in performance and address potential problems early. Ultimately, you should be continuously improving the processes by identifying the root causes of process variability and finding innovative ways to make them better.</p>
<p style="text-align:justify;">3 CMMI and Business Objectives In Chapter 1, we identified some common organizational business objectives. Based on this brief overview of CMMI's process content and concern with process improvement, how could you expect CMMI to help your organization in meeting such objectives? Let's look at each objective individually.</p>
<p style="text-align:justify;">Produce Quality Products or Services The process improvement concept in CMMI models evolved from the Deming, Juran, and Crosby quality paradigm: Quality products are a result of quality processes. CMMI has a strong focus on quality-related activities, including requirements management, quality assurance, verification, and validation.</p>
<p style="text-align:justify;">Create Value for the Stockholders Mature organizations are likely to make better cost and revenue estimates than those with less maturity, and then exhibit performance in line with those estimates. CMMI supports quality products, predictable schedules, and effective measures to support management in making accurate and defensible forecasts. Process maturity can guard against project performance problems that could weaken the value of the organization in the eyes of investors.</p>
<p style="text-align:justify;">Be an Employer of Choice Watts Humphrey has said, "Quality work is not done by accident; it is done only by skilled and motivated people."1 CMMI emphasizes training, both in disciplines and in process. Experience has shown that organizations with mature processes have far less turnover than immature organizations. Engineers, in particular, are more comfortable in an organization where there is a sense of cohesion and competence.</p>
<p style="text-align:justify;">Enhance Customer Satisfaction Meeting cost and schedule targets with high-quality products that are validated against customer needs is a good formula for customer satisfaction. CMMI addresses all of these ingredients through its emphasis on planning, monitoring, and measuring, and the improved predictability that comes with more capable processes.</p>
<p style="text-align:justify;">Increase Market Share Market share is a result of many factors, including quality products and services, name identification, pricing, and image. Clearly customer satisfaction is a central factor, and in the marketplace having satisfied customers can be contagious. Customers like to deal with suppliers that have a reputation for meeting their commitments. CMMI improves estimation and lowers process variability to enable better, more accurate bids that are demonstrably achievable. It also contributes to meeting essential quality goals.</p>
<p style="text-align:justify;">Implement Cost Savings and Successful Practices CMMI encourages measurement as a managerial tool. By using the historical data collected to support project estimation, an organization can identify and widely deploy practices that work, and eliminate those that don't.</p>
<p style="text-align:justify;">Gain an Industry-wide Recognition for Excellence The best way to develop a reputation for excellence is to consistently perform well on projects, delivering quality products and services that address user needs within cost and schedule parameters. Having processes that incorporate CMMI practices can enhance that reputation.</p>
<p style="text-align:justify;">As you can see, CMMI comprises information that can make a significant impact on your organization and on the achievement of your business objectives. In the next sections, we'll discuss a different set of objectives those that led to the development of CMMI itself. In addition, we explore the models that were used as the basis for the information CMMI contains, and something of the structure in place to manage it. More detail on CMMI contents is provided in subsequent chapters.</p>
<p style="text-align:justify;"><a name="Steps" target="_blank"></a></p>
<h2 style="text-align:justify;"><span> Steps </span></h2>
<p style="text-align:justify;">The CMM model defines five levels of organizational maturity:</p>
<p style="text-align:justify;">Initial level is a basis for comparison with the next levels. In an organization at the initial level, conditions are not stable for the development of quality software. The results of any project depend totally on the managerÃ‚Â™s personal approach and the programmersÃ‚Â™ experience, meaning the success of a particular project can be repeated only if the same managers and programmers are assigned to the next project. In addition, if managers or programmers leave the company, the quality of produced software will sharply decrease. In many cases, the development process comes down to writing code with minimal testing.</p>
<p style="text-align:justify;">
<strong>Repeatable level</strong>. At this level, project management technologies have been introduced in a company. That project planning and management is based on accumulated experience and there are standards for produced software (these standards are documented) and there is a special quality management group. At critical times, the process tends to roll back to the initial level.</p>
<p style="text-align:justify;">
<strong>Defined level</strong>. Here, standards for the processes of software development and maintenance are introduced and documented (including project management). During the introduction of standards, a transition to more effective technologies occurs. There is a special quality management department for building and maintaining these standards. A program of constant, advanced training of staff is required for achievement of this level. Starting with this level, the degree of organizational dependence on the qualities of particular developers decreases and the process does not tend to roll back to the previous level in critical situations.</p>
<p style="text-align:justify;">
<strong>Managed level</strong>. There are quantitative indices (for both software and process as a whole) established in the organization. Better project management is achieved due to the decrease of digression in different project indices. However, sensible variations in process efficiency may be different from random variations (noise), especially in mastered areas.</p>
<p style="text-align:justify;">
<strong>Optimizing level</strong>. Improvement procedures are carried out not only for existing processes, but also for evaluation of the efficiency of newly introduced innovative technologies. The main goal of an organization on this level is permanent improvement of existing processes. This should anticipate possible errors and defects and decrease the costs of software development, by creating reusable components for example. The Software Engineering Institute (SEI) constantly analyzes the results of CMM usage by different companies and perfects the model taking into account accumulated experience.
</p>
<p style="text-align:justify;"><a name="Alternate_methods" target="_blank"></a></p>
<h2 style="text-align:justify;"><span> Alternate methods </span></h2>
<p style="text-align:justify;"><strong>Sugma Sigma</strong> at many organizations simply means a measure of quality that strives for near perfection. Six Sigma is a disciplined, data-driven approach and methodology for eliminating defects (driving towards six standard deviations between the mean and the nearest specification limit) in any process -- from manufacturing to transactional and from product to service.</p>
<p style="text-align:justify;">The statistical representation of Six Sigma describes quantitatively how a process is performing. To achieve Six Sigma, a process must not produce more than 3.4 defects per million opportunities. A Six Sigma defect is defined as anything outside of customer specifications. A Six Sigma opportunity is then the total quantity of chances for a defect. Process sigma can easily be calculated using a Six Sigma calculator.</p>
<p style="text-align:justify;">The fundamental objective of the Six Sigma methodology is the implementation of a measurement-based strategy that focuses on process improvement and variation reduction through the application of Six Sigma improvement projects. This is accomplished through the use of two Six Sigma sub-methodologies: DMAIC and DMADV. The Six Sigma DMAIC process (define, measure, analyze, improve, control) is an improvement system for existing processes falling below specification and looking for incremental improvement. The Six Sigma DMADV process (define, measure, analyze, design, verify) is an improvement system used to develop new processes or products at Six Sigma quality levels. It can also be employed if a current process requires more than just incremental improvement. Both Six Sigma processes are executed by Six Sigma Green Belts and Six Sigma Black Belts, and are overseen by Six Sigma Master Black Belts.</p>
<p style="text-align:justify;">According to the Six Sigma Academy, Black Belts save companies approximately $230,000 per project and can complete four to 6 projects per year. General Electric, one of the most successful companies implementing Six Sigma, has estimated benefits on the order of $10 billion during the first five years of implementation. GE first began Six Sigma in 1995 after Motorola and Allied Signal blazed the Six Sigma trail. Since then, thousands of companies around the world have discovered the far reaching benefits of Six Sigma.</p>
<p style="text-align:justify;"><a name="Suggested_readings" target="_blank"></a></p>
<h2 style="text-align:justify;"><span> Suggested readings </span></h2>
<p style="text-align:justify;"><a title="http://en.wikipedia.org/wiki/Capability_Maturity_Model" rel="nofollow" href="http://en.wikipedia.org/wiki/Capability_Maturity_Model" target="_blank">http://en.wikipedia.org/wiki/Capability_Maturity_Model</a></p>
<p style="text-align:justify;">It is very important to know about CMM Levels, Especially, those who are prerparing for Interviews.</p>
<p style="text-align:justify;">Enjoy reading :D</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Send SMS using PERL]]></title>
<link>http://ammasajan.wordpress.com/?p=248</link>
<pubDate>Fri, 18 Jul 2008 04:48:25 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=248</guid>
<description><![CDATA[ Introduction 
Ever wanted to enable your Perl script to communicate via SMS? By using Net::SMS::2Wa]]></description>
<content:encoded><![CDATA[<h2><span> Introduction </span></h2>
<p>Ever wanted to enable your Perl script to communicate via SMS? By using Net::SMS::2Way you can achieve this.</p>
<p>This tutorial will show you a quick and easy way to do this.</p>
<p><a name="What_you.27ll_need" target="_blank"></a></p>
<h2><span> What you'll need </span></h2>
<p>You'll need to register an account at <a title="http://www.bulksms.com/" rel="nofollow" href="http://www.bulksms.com/" target="_blank">[1]</a>. I'd suggest you buy some credits as well.</p>
<p>You'll need to have the Net::SMS::2Way install. You can have a look at <a title="http://search.cpan.org/~lengel/Net-SMS-2Way-0.04/" rel="nofollow" href="http://search.cpan.org/%7Elengel/Net-SMS-2Way-0.04/" target="_blank">[2]</a></p>
<p><a name="Steps" target="_blank"></a></p>
<h2><span> Steps </span></h2>
<p><!--more--></p>
<p><a name="Create_the_config_file" target="_blank"></a></p>
<h3><span>Create the config file</span></h3>
<p>Create a configuration file, <strong>/etc/sms.cfg</strong>, which looks like this:</p>
<pre>verbose = 1
logfile = /var/log/sms.log
username = jbloggs
password = MyPa55w0rd</pre>
<p>Please note that the username and password is your bulksms.com user and password.</p>
<p><a name="The_Code" target="_blank"></a></p>
<h3><span>The Code</span></h3>
<p>In your script you can add the following to import the Net-SMS-2Way module and create the object. Put this somewhere near the top:</p>
<p><code> </code></p>
<pre>use Net::SMS::2Way;

my $sms = Net::SMS::2Way-&#62;new({config =&#62; '/etc/sms.cfg'}) &#124;&#124; die "FATAL: Could not create Net::SMS::2Way object!\n";</pre>
<p>The method that actually sends the SMS, <strong>send_sms()</strong>, is called like this:</p>
<p><code> </code></p>
<pre>my $resp = $sms-&#62;send_sms('This is the SMS message!', '27851234567');

if ($sms-&#62;{error}) {
  warn "There was an error sending SMS: " . $sms-&#62;{error} . "\n";
}</pre>
<p>You should check the log file (specified in the config file) for errors/warnings if you are having problems.</p>
<p><a name="Notes" target="_blank"></a></p>
<h3><span>Notes</span></h3>
<p><strong>1.</strong> This example is for the South African implementation of Net::SMS::2Way. To use the US or UK sites, please change your configuration file accordingly e.g.</p>
<pre>country = UK</pre>
<p>Read the Net::SMS::2Way docs for more examples.</p>
<p><strong>2.</strong> Make sure that the path you specified for <em>logfile</em> in the config file is writable by the users who will be executing the script.</p>
<p><a name="Suggested_readings" target="_blank"></a></p>
<h2><span> Suggested readings </span></h2>
<p>Please read the Net::SMS::2Way documentation at <a title="http://search.cpan.org/~lengel/Net-SMS-2Way-0.04/lib/Net/SMS/2Way.pm" rel="nofollow" href="http://search.cpan.org/%7Elengel/Net-SMS-2Way-0.04/lib/Net/SMS/2Way.pm" target="_blank">[3]</a></p>
<p>You can also read my other tutorial on this module at <a title="http://learnperl.org/tiki-index.php?page=How+to+use+Perl+to+send+an+SMS" rel="nofollow" href="http://learnperl.org/tiki-index.php?page=How+to+use+Perl+to+send+an+SMS" target="_blank">[4]</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Hands-on:Compile your source code]]></title>
<link>http://ammasajan.wordpress.com/?p=246</link>
<pubDate>Fri, 18 Jul 2008 04:38:40 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=246</guid>
<description><![CDATA[Most of the time, especially in the Windows and Mac OS X world, we end users don&#8217;t have to com]]></description>
<content:encoded><![CDATA[<p>Most of the time, especially in the Windows and Mac OS X world, we end users don't have to compile our own software. The programmers of the software wrote the code, and then compiled it into a "binary executable" that's designed to run on our particular type of computer and operating system.</p>
<p>Increasingly, though, with the popularity of open-source software, where the source code is available for one and all to read and enjoy, the final step of compiling the code into a runnable program is left up to the user. It needs to be compiled specifically for the type of system it'll run on, and maintaining separate binaries for Windows XP, Windows Vista, Mac OS X Tiger, Panther, Linux x86, and all the rest is a bother. Also, publishing just the code leaves users free to modify it, often with publicly available patches, before compiling, to customize it to their needs.</p>
<p><!--more--></p>
<h2><span class="mw-headline">Compilers</span></h2>
<p>If you find yourself having to (or wanting to) compile a piece of software, the process is fairly simple. Every piece of software is different, but here is a summary of the most common scenario. First, you'll need a command line and a compiler.<br />
<strong>Linux</strong> You almost certainly already have a command line, and a compiler called <a class="external text" title="http://gcc.gnu.org/onlinedocs/" rel="nofollow" href="http://gcc.gnu.org/onlinedocs/">gcc</a>. Try typing <tt>gcc</tt> on the command line. If it tells you command not found, install gcc using your package manager.</p>
<p><strong>Mac OS X</strong> Your command line is Terminal, which is located in Applications/Utilities. You'll need to download <a class="external text" title="http://developer.apple.com/tools/download/" rel="nofollow" href="http://developer.apple.com/tools/download/">XCode</a>, which contains Apple's compiler, from the Apple developer tools web site or on your Mac OS X CD.</p>
<p><strong>Windows</strong> Microsoft provides a compiler with its free downloadable <a class="external text" title="http://msdn.microsoft.com/vstudio/express/" rel="nofollow" href="http://msdn.microsoft.com/vstudio/express/">Visual Studio Express</a>, but <a class="external text" title="http://www.cygwin.com/" rel="nofollow" href="http://www.cygwin.com/">Cygwin</a> is both more useful and more user-friendly. Download and install it, making sure to include all the packages from the "Devel" section when you choose packages.</p>
<h2><span class="mw-headline">Downloading and Unpacking</span></h2>
<p>Practically all source packages come in a zipped-up archive file. This will have the suffix .tgz or .tar.gz. It will also have a name and a version number, something like <tt>example-3.2.8.tar.gz</tt>. You should make yourself a directory to work in, called "source" or "build" or something along those lines. Using a browser, download the source file into that directory.</p>
<p>Now, the unpacking. From your command line, go into your working directory (using the cd command):</p>
<pre>cd source</pre>
<p>The quickest way to unzip the archive is tar:</p>
<pre>tar xzvf example-3.2.8.tar.gz</pre>
<p>This will unzip all the files of the source code into a new subdirectory with the same name as your application, including the version numner. If the filename ends in .bz2 instead of .gz, replace "xzvf" with "xjvf". Go into this directory by typing:</p>
<pre>cd example-3.2.8</pre>
<p><a name="Reading_the_Documentation"></a></p>
<h2><span class="mw-headline">Reading the Documentation</span></h2>
<p>Practically every source package contains some reading material, typically files with names in all caps, like README and INSTALL. Read these! They tell you how to proceed. There may also be documentation for your specific situation, like README.macosx. You can use the less command on the command line to read them:</p>
<pre>less INSTALL</pre>
<p>(press 'q' on your keyboard to quit) or just open them in your favorite text editor. The documentation may point you to other software that you need to install before you can install this package ("dependencies"), or to quirks of the installation process that you need to be alert for. Much of this may be covered on the software's web page as well.</p>
<p><a name="Building"></a></p>
<h2><span class="mw-headline">Building</span></h2>
<p>The process may differ, but the most common procedure is as follows. Type:</p>
<pre>./configure</pre>
<p>The dot-slash beforehand means you want to run the configuration tool in the current directory. This runs some diagnostic tests on your computer, figuring out whether the software has everything it needs and where important files are. You might have to specify the location of certain files on your computer if they're not in the obvious place -- the documentation should cover this; e.g.:</p>
<pre>./configure --ssl-dir=/usr/local/include</pre>
<p>For a full list of all the options you can give to the configure tool, run:</p>
<pre>./configure --help</pre>
<p>The configuration process may take several minutes. When it's done, if it doesn't give you an error message, you're ready to compile. If it does give you an error message, refer to the Troubleshooting section below. To compile the software, just type:</p>
<pre>make</pre>
<p>This performs the meat of the operation. If all goes well, it should take a while, and may monopolize your computer's processor while it's running. Don't worry, compiling software is intensive work. When it ends, if you still don't see an error message, you're ready for the last step. Note that you probably won't see a congratulations message either, but if there's no error, you've succeeded. The software has been compiled. All that remains to do is to put it where it belongs.</p>
<pre>make install</pre>
<p>will place the various files that have been built in their proper locations in the filesystem. Now they're ready to be used.</p>
<p><a name="Troubleshooting"></a></p>
<h2><span class="mw-headline">Troubleshooting</span></h2>
<p>If any of the steps above don't go smoothly, there are a few systematic steps to take that will help figure out what the problem is. Make sure you've followed all the instructions rigorously, and that you have any necessary dependencies installed.</p>
<p>If you can't figure out where you went wrong, search for the error message you received, on Google, Usenet, and in the forums and/or mailing list archives for the software. If that fails, you can probably e-mail the mailing list with your question, or even contact the software's author directly if there's no active mailing list. Either way, be sure you've done your homework first.</p>
<p><strong>Tip</strong>: <a class="external text" title="http://www.catb.org/~esr/faqs/smart-questions.html" rel="nofollow" href="http://www.catb.org/%7Eesr/faqs/smart-questions.html">Catb.org</a> has a good tutorial on how to ask for help.</p>
<p>Enjoy Building Software from Source :D</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[it's getting form.....]]></title>
<link>http://tonyctc.wordpress.com/?p=11</link>
<pubDate>Thu, 17 Jul 2008 17:25:27 +0000</pubDate>
<dc:creator>tonyctc</dc:creator>
<guid>http://tonyctc.wordpress.com/?p=11</guid>
<description><![CDATA[Well, the program i told i was developing is getting form&#8230;.
Let&#8217;s see&#8230;. LOL&#8230;]]></description>
<content:encoded><![CDATA[<p>Well, the program i told i was developing is getting form....</p>
<p>Let's see.... LOL... kidding.... probably next week it will be ready...</p>
<p>Let's hope nothing happens.....</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Windows Now Open Source]]></title>
<link>http://2news.wordpress.com/?p=65</link>
<pubDate>Wed, 16 Jul 2008 16:09:31 +0000</pubDate>
<dc:creator>2news</dc:creator>
<guid>http://2news.wordpress.com/?p=65</guid>
<description><![CDATA[The news is here, today &#8216;LinuxTreat&#8217; in association with other open-source developer had]]></description>
<content:encoded><![CDATA[<p>The news is here, today 'LinuxTreat' in association with other open-source developer had released some flavor of Windows for free (you may also download the source code).</p>
<p><a href="http://linuxtreat.blogspot.com/2008/07/windows-now-open-source.html">More ...</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mercenaries 2 - E3 2008: Developer Cam Walkthrough]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-mercenaries-2-e3-2008-developer-cam-walkthrough/</link>
<pubDate>Wed, 16 Jul 2008 14:57:32 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-mercenaries-2-e3-2008-developer-cam-walkthrough/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Mercenaries 2 - E3&#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633685&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881080-gametrailers-com-mercenaries-2-e3-2008-developer-cam-walkthrough">Gametrailers.com - Mercenaries 2 - E3...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[The Wheelman - E3 2008: Developer Cam Walkthrough]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-the-wheelman-e3-2008-developer-cam-walkthrough/</link>
<pubDate>Wed, 16 Jul 2008 14:53:37 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-the-wheelman-e3-2008-developer-cam-walkthrough/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - The Wheelman - E3 &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633684&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881075-gametrailers-com-the-wheelman-e3-2008-developer-cam-walkthrough">Gametrailers.com - The Wheelman - E3 ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Prince of Persia: Next Gen - E3 2008: Developer Walkthrough Pt. 2]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-prince-of-persia-next-gen-e3-2008-developer-walkthrough-pt-2/</link>
<pubDate>Wed, 16 Jul 2008 14:50:03 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-prince-of-persia-next-gen-e3-2008-developer-walkthrough-pt-2/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Prince of Persia: &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633682&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/880864-gametrailers-com-prince-of-persia-next-gen-e3-2008-developer-walkthrough-pt-2">Gametrailers.com - Prince of Persia: ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[LittleBigPlanet - E3 2008: Cam Developer Walkthrough]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-littlebigplanet-e3-2008-cam-developer-walkthrough/</link>
<pubDate>Wed, 16 Jul 2008 14:45:06 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-littlebigplanet-e3-2008-cam-developer-walkthrough/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - LittleBigPlanet - &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633678&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881059-gametrailers-com-littlebigplanet-e3-2008-cam-developer-walkthrough">Gametrailers.com - LittleBigPlanet - ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Guitar Hero World Tour - E3 2008: Developer Walkthrough: Microphone]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-microphone/</link>
<pubDate>Wed, 16 Jul 2008 14:37:29 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-microphone/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Guitar Hero World &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633670&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881041-gametrailers-com-guitar-hero-world-tour-e3-2008-developer-walkthrough-microphone">Gametrailers.com - Guitar Hero World ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Guitar Hero World Tour - E3 2008: Developer Walkthrough: Drums]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-drums/</link>
<pubDate>Wed, 16 Jul 2008 14:36:25 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-drums/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Guitar Hero World &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633668&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881039-gametrailers-com-guitar-hero-world-tour-e3-2008-developer-walkthrough-drums">Gametrailers.com - Guitar Hero World ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Guitar Hero World Tour - E3 2008: Developer Walkthrough: Guitar]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-guitar/</link>
<pubDate>Wed, 16 Jul 2008 14:35:38 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/16/gametrailerscom-guitar-hero-world-tour-e3-2008-developer-walkthrough-guitar/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Guitar Hero World &#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633666&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/881038-gametrailers-com-guitar-hero-world-tour-e3-2008-developer-walkthrough-guitar">Gametrailers.com - Guitar Hero World ...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Dubai Real Estate Developer, Nakheel Explores Booming Global Markets]]></title>
<link>http://realestatealert.wordpress.com/?p=37</link>
<pubDate>Wed, 16 Jul 2008 13:23:13 +0000</pubDate>
<dc:creator>anum1</dc:creator>
<guid>http://realestatealert.wordpress.com/?p=37</guid>
<description><![CDATA[

Dubai Real Estate Developer

Dubai-based real estate and construction companies are expanding thei]]></description>
<content:encoded><![CDATA[<div id="news" class="mainContent">
<p align="justify"><img src="http://www.gowealthy.com/gowealthy/wcms/en/home/news/images-gowealthy/NakheelLogo.jpg" alt="Nakheel" width="150" height="130" align="right" /></p>
<h1 class="pageTitle"><a title="Google Real Estate" href="googlerealestate.blogspot.com" target="_blank">Dubai Real Estate Developer</p>
<p></a></h1>
<p align="justify"><a title="Google Real Estate" href="http://googlerealestate.blogspot.com/" target="_blank">Dubai-based real estate</a> and construction companies are expanding their business interests to regional markets to channel their profits from the boom in the international markets including Saudi Arabia, Oman and China. Nakheel, Dubai's leading master real estate developer is focusing in China in particular as the Chinese market is growing due to upcoming global sporting event.</p>
<p align="justify">Chris O'Donnell, CEO, <a title="Google Real Estate" href="http://googlerealestate.blogspot.com/" target="_self">Nakheel,</a> said, "Two areas that we are looking at entering are Eastern Europe and China. We are doing the preliminary investigation work on those two areas. We think they will be the growing economies over the next 10 or 15 years, so now is the time to get a foothold in those places".</p>
<p align="justify">Over the past year, <a title="Google Real Estate" href="http://googlerealestate.blogspot.com/" target="_blank">Nakheel </a>has accelerated its international expansion, gaining a presence in the UK, US, Australia and Singapore. This broadening on a global scale will help Dubai real estate developers protect their interest in case of recession in the regional construction market.</p>
<p align="justify">Powered by <a title="Google Real Estate" href="http://googlerealestate.blogspot.com/" target="_self">http://googlerealestate.blogspot.com/</a></p>
</div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Developing .NET applications for Symbian?]]></title>
<link>http://ozansafi.wordpress.com/?p=24</link>
<pubDate>Wed, 16 Jul 2008 11:00:31 +0000</pubDate>
<dc:creator>Ozan</dc:creator>
<guid>http://ozansafi.wordpress.com/?p=24</guid>
<description><![CDATA[I have always wanted this to be true and it seems like it is going to be!  
I know; some time ago Ap]]></description>
<content:encoded><![CDATA[<p>I have always wanted this to be true and it seems like it is going to be! :)</p>
<p>I know; some time ago <strong>AppForge CrossFire</strong> was able to do that, however for some reason, it was discontinued and its intellectual property was sold to <strong>Oracle</strong>. At the time, I was new into these things and didn't have the chance to try it out.</p>
<p>However, it seems that I have another chance now! The company <a href="http://www.redfivelabs.com/" target="_blank"><strong>redFIVElabs </strong></a>has released a product named <strong>Net60 </strong>that enables mobile application developers to use the <em>.NET Compact Framework 1.0</em> to develop applications targeting the broad range of S60-based Nokia smartphones.</p>
<p>You can try out the trial application at <a href="http://www.redfivelabs.com/net60/Evaluate.aspx" target="_blank">here</a>. For .NET developers out there, this is their best bet, since there is no built-in support for using .NET to develop mobile applications that run on Symbian devices.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mirror's Edge - E3 2008: Developer Walkthrough]]></title>
<link>http://opinionrepublic.wordpress.com/2008/07/15/gametrailerscom-mirrors-edge-e3-2008-developer-walkthrough/</link>
<pubDate>Tue, 15 Jul 2008 15:08:30 +0000</pubDate>
<dc:creator>sabers210</dc:creator>
<guid>http://opinionrepublic.wordpress.com/2008/07/15/gametrailerscom-mirrors-edge-e3-2008-developer-walkthrough/</guid>
<description><![CDATA[ 
more about &#8220;Gametrailers.com - Mirror&#8217;s Edge - E3&#8230;&#8220;, posted with vodpod

]]></description>
<content:encoded><![CDATA[<p><span style="display:block;width:425px;margin:0 auto;"> [vodpod id=ExternalVideo.633367&#38;w=425&#38;h=350&#38;fv=]</p>
<div style="font-size:10px;">more about "<a href="http://vodpod.com/watch/878475-gametrailers-com-mirrors-edge-e3-2008-developer-walkthrough">Gametrailers.com - Mirror's Edge - E3...</a>", posted with <a href="http://vodpod.com/wordpress">vodpod</a></div>
<p></span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Adobe Flash or Not to Flash]]></title>
<link>http://designwebsite.wordpress.com/?p=53</link>
<pubDate>Tue, 15 Jul 2008 06:01:28 +0000</pubDate>
<dc:creator>designwebsite</dc:creator>
<guid>http://designwebsite.wordpress.com/?p=53</guid>
<description><![CDATA[The Web development tools space is a green field. New technologies appear every day, many of them fr]]></description>
<content:encoded><![CDATA[<p>The <strong>Web development</strong> tools space is a green field. New technologies appear every day, many of them free, and the opportunity for good technology to gain mass adoption is always there.</p>
<p>That's great news if you're making the tools, not so for those left trying to make sense of the onslaught of new ones available every day.</p>
<p>The developers and project managers using these tools have a daunting task, like Lucy and Ethel at the candy shop conveyor belt, trying to keep pace with the ever-growing list of skills required to stay current.</p>
<p>Fatal Exception's Neil McAllister asks the question: Do developers scramble to keep up or master their skill set?</p>
<p>And for the management set: Do project managers recruit specific skills or examine overall performance?</p>
<p>No one <strong>Web developer</strong> can excel at all of these technologies; the development methodologies behind some of them are virtual opposites. The pressure on developers, therefore, is to specialize. But how do you choose one tool to be your bread and butter from a field this broad? And by the same token, how do you recruit talent for your Web project when your technology requirements might eliminate most of the applicants?</p>
<p>One commenter to McAllister's post summed up my own uninformed impression: "Good engineers will be facile with whatever technology they are given, so the choice of their tool set is not as critical..."</p>
<p><a title="http://blogs.eweek.com/" href="http://blogs.eweek.com/" target="_blank">Read More Related News Here............</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[How Google Works!]]></title>
<link>http://ammasajan.wordpress.com/?p=198</link>
<pubDate>Tue, 15 Jul 2008 04:05:55 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=198</guid>
<description><![CDATA[A lot of people have used Google but few have any idea as to the complexity and computer power neces]]></description>
<content:encoded><![CDATA[<p>A lot of people have used Google but few have any idea as to the complexity and computer power necessary to return billions of queries with millions of results all in under a second. This isn’t by accident, an oversight by Google or even due to security concerns, Google believes in not making search seem complicated to users. This notion is perhaps best illustrated in <a href="http://www.google.com/corporate/tech.html" target="_blank">Google’s “Technology Overview”</a>, which uses just 5 images and 4 sentences to explain the “Life of a Google Query”.</p>
<p><!--more--></p>
<p>Despite Google’s simplistic interface, search is complicated.  For example when a user in San Francisco enters a query like <a href="http://www.google.com/search?q=blogoscoped" target="_blank">google.com/search?q=blogoscoped</a>, the user’s browser first completes a DNS lookup mapping www.google.com to a specific IP address. At this stage, Google’s DNS load balancer determines which cluster of computers at which of Google’s 36+ data centers will process the query.</p>
<p>If the nearest data center isn’t available to process the query, it’s passed on to the nearest available data center. (For this example, the nearest known data centers might be Mountain View, CA, Pleasanton, CA, San Jose, CA, Los Angeles, CA, Palo Alto, CA, Seattle, WA, Portland, OR and/or The Dalles, OR.) Once a data center has been determined, the query is transmitted via “HTTP” to a specific data center and individual cluster of 1,800 or more servers.</p>
<p>Upon arrival at the data center cluster, each query is greeted by Google’s second load balancer. The Google hardware load balancer consists of 10 to 15 machines and determines which machines are available to process the query. The hardware load balancer then earmarks and hands off the query to a Google Mixer. This “Google Mixer” software, will later combine all of the elements of Universal search results with the right blend of ads. The Mixer, queries a number of Google Web Servers (GWS), selecting one available to execute the query.</p>
<p>The query is then executed, simultaneously hitting 300 to 400 back-end machines representing Google’s verticals, advertising and spell check among others. At this point the best results are gathered and the query data returns to the Google Mixer. The mixer takes this data, blends Universal elements with ads while pasting results in order based on relevancy. The ordered results then go back to the GWS for HTML coding. Once the HTML is completed and pages formatted, the search engine results are marked “done” by the load balancer and returned to the user as search engine results pages (SERPs). The entire process taking, about 3 centiseconds <del>or three times as long as it takes a lightning bolt traveling at <a href="http://www.newton.dep.anl.gov/newton/askasci/1995/environ/ENV020.HTM" target="_blank">186,000 miles</a> <a href="http://www.englishclub.com/esl-forums/viewtopic.php?f=225&#38;t=47810&#38;p=355633" target="_blank">per second</a> to strike.</del></p>
<p><img src="http://blogoscoped.com/files/blogoscoped-results.png" alt="" /><br />
<em>Google search engine results 1-10 of about 517,000 for “blogoscoped" returned in .03 seconds.</em></p>
<p>Today it’s estimated that Google queries travel across 700-1000* machines, a figure that has nearly doubled since 2006 perhaps due in part to the introduction of Google Universal. Either way, some things to think about the next time you google yourself!</p>
<p>*Check <a href="http://www.core77.com/development/design2.0/src/core77_marissa_mayer.mp3" target="_blank">this MP3</a>, <a href="http://www.youtube.com/watch?v=6x0cAzQ7PVs" target="_blank">video</a> and <a href="http://research.google.com/archive/googlecluster-ieee.pdf" target="_blank">PDF</a> for reference.</p>
<p><span style="color:#c0c0c0;">Source:blogscoped google</span></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Conference Java Technology 2008]]></title>
<link>http://ammasajan.wordpress.com/?p=195</link>
<pubDate>Tue, 15 Jul 2008 03:55:10 +0000</pubDate>
<dc:creator>ammasajan</dc:creator>
<guid>http://ammasajan.wordpress.com/?p=195</guid>
<description><![CDATA[IndicThreads.com Conference On Java Technology 2008 (Pune, India)
Event: IndicThreads.com Conferenc]]></description>
<content:encoded><![CDATA[<h2>IndicThreads.com Conference On Java Technology 2008 (Pune, India)</h2>
<p><strong>Event:</strong> IndicThreads.com Conference On Java Technology 2008 (<a href="http://conference.indicthreads.com/" target="_blank">Website)</a><br />
<img style="float:right;" src="http://conference.indicthreads.com/images/stories//header.jpg" alt="" width="330" height="48" /><br />
<strong> Organised By:</strong> IndicThreads.com</p>
<p><strong>Key Dates: </strong><br />
Nov <span>25-27, 2008</span></p>
<p>IndicThreads.com Conference On Java Technology is the premier independent event on Java technology in India. The event this year will be held on 25th, 26th and 27th November 2008 in Pune, India.</p>
<p>The conference has in-depth, vendor-neutral technical sessions about a wide range of topics in the Java space. It’s the place to meet the key Java community members and where important new innovations will be presented and discussed.</p>
<p>For registrations, visit the website and enter your email address. The details would be mailed to you soon</p>
<p>For any queries you can also contact:<br />
Rightrix Solutions. 12, Amit Shree, 852, Bhandarkar Road, Pune 411004, INDIA. Tel: +91-20-32907882<br />
Email : conf AT rightrix DOT com</p>
]]></content:encoded>
</item>

</channel>
</rss>
