<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Devlopr</title>
	<atom:link href="http://www.devlopr.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.devlopr.com</link>
	<description>Jayesh Kitukale&#039;s Bold Blog</description>
	<lastBuildDate>Sat, 09 Jan 2010 09:59:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Is “Online Money Making” a reality or a myth?</title>
		<link>http://www.devlopr.com/is-%e2%80%9conline-money-making%e2%80%9d-a-reality-or-a-myth/</link>
		<comments>http://www.devlopr.com/is-%e2%80%9conline-money-making%e2%80%9d-a-reality-or-a-myth/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 09:57:26 +0000</pubDate>
		<dc:creator>jayesh</dc:creator>
				<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://www.devlopr.com/?p=44</guid>
		<description><![CDATA[Hi, I am Jayesh from India. Like every newbie I was fascinated by the idea of making money online. I devoured almost every article on the subject on the internet. Internet is full of promises. There are several articles on how to earn money online. It also states that making money online needs patience and some hard work.  At the end of the day, however, some questions troubled me and the lack of the answers diluted my hope about earning money online. It sounded too abstract an idea. You need a website. You need traffic.  Register with the Google Adsense. Yes, but does it work or not? I don’t have a friend who has tried it earlier so that he would honestly answer my questions.  All I needed was an reassurance that it is possible. But now the things are different I have earned some money with this technique and I would like to answer the questions in this post.]]></description>
			<content:encoded><![CDATA[<p>Hi, I am Jayesh from India. Like every newbie I was fascinated by the idea of making money online. I devoured almost every article on the subject on the internet. Internet is full of promises. There are several articles on how to earn money online. It also states that making money online needs patience and some hard work.  At the end of the day, however, some questions troubled me and the lack of the answers diluted my hope about earning money online. It sounded too abstract an idea. You need a website. You need traffic.  Register with the Google Adsense. Yes, but does it work or not? I don’t have a friend who has tried it earlier so that he would honestly answer my questions.  All I needed was an reassurance that it is possible. But now the things are different I have earned some money with this technique and I would like to answer the questions in this post.</p>
<p><strong>Is Online Money Making a reality or a myth?</strong></p>
<p>Fortunately the answer to this question is yes. A resounding yes. I am not going to talk about the details of how to do it but yes it is possible to make money online with blogging. It is not as difficult as it sounds. Here is one simple technique that can get you started: <a title="Click to Read" href="http://www.devlopr.com/how-to-earn-money-by-writing-just-5-articles/" target="_blank">Click to Read</a></p>
<p><strong>Which is the best method to earn money online?</strong></p>
<p>There are several ways to earn money online. The easiest one is the PPC Method. Write about some topic, throw in some ads and count the dollars. Other ways like affiliate marketing need more efforts, patience and marketing skills.</p>
<p><strong>Are the ebooks sold on the internet about making money online worth?</strong></p>
<p>The ebooks are good but all the information provided there is just a compiled version of the information otherwise freely available on the internet. But they promise too much on their sites. If you find it difficult how to use the marketing techniques like social bookmarking by doing research on the internet using a search engine then you might find such an ebook helpful in understanding the techniques. But it’s nothing more than that.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.devlopr.com/is-%e2%80%9conline-money-making%e2%80%9d-a-reality-or-a-myth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to earn money by writing just 5 articles!</title>
		<link>http://www.devlopr.com/how-to-earn-money-by-writing-just-5-articles/</link>
		<comments>http://www.devlopr.com/how-to-earn-money-by-writing-just-5-articles/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 14:00:17 +0000</pubDate>
		<dc:creator>jayesh</dc:creator>
				<category><![CDATA[Money]]></category>

		<guid isPermaLink="false">http://www.devlopr.com/how-to-earn-money-by-writing-just-5-articles/</guid>
		<description><![CDATA[After reading a lot about making money online by blogging about a topic and putting ads on the blog, I concluded that you can earn a lot of money by just writing 5 articles. Isn’t that awesome? The trick is really simple and it works. Learn how you can do that…]]></description>
			<content:encoded><![CDATA[<p>After reading a lot about making money online by blogging about a topic and putting ads on the blog, I concluded that you can earn a lot of money by just writing 5 articles. Isn’t that awesome? The trick is really simple and it works. Learn how you can do that…</p>
<p>Yes, you can earn a lot of ad dollars by writing just 5 articles. This may sound ridiculous but it works if you follow this one simple rule:</p>
<p>Use all your writing muscles to write these 5 articles and try to write something unique and useful to the readers.  This may sound too simplistic and something you may already know. But you may not have tried it.</p>
<p>Take your blogging topic and just write the 5 strongest articles and you are pretty much done. Throw in some Google Ads, Adbrite Ads,  Chitika Ads or InfoLink Ads.</p>
<p>These articles are also called as Pillar articles. They form the foundation of your blog. Later you can write small posts that are related to the main topic and which talks in details. These articles are needed if you want to keep coming back to your blog which increases your revenue.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.devlopr.com/how-to-earn-money-by-writing-just-5-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mystery of the Dead Project – Exposed</title>
		<link>http://www.devlopr.com/the-mystery-of-the-dead-project-%e2%80%93-exposed/</link>
		<comments>http://www.devlopr.com/the-mystery-of-the-dead-project-%e2%80%93-exposed/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 08:47:23 +0000</pubDate>
		<dc:creator>jayesh</dc:creator>
				<category><![CDATA[Management]]></category>

		<guid isPermaLink="false">http://www.devlopr.com/?p=35</guid>
		<description><![CDATA[Yes, we are the software developers not the medical detectives, but this is a mysterious story of a project that suffered multiple hidden injuries, paralysis attack, comma and eventually death. It was not until the death of the project that the causes of the injuries and paralysis were investigated. The post-mortem analysis gave us an insight of how a project could die. The revelations were shocking and saddening to say the least. Who was the culprit? Who murdered our project? What do we learn from these reports? To know continue reading...]]></description>
			<content:encoded><![CDATA[<p>Yes, we are the software developers not the medical detectives, but this is a mysterious story of a project that suffered multiple hidden injuries, paralysis attack, comma and eventually death. It was not until the death of the project that the causes of the injuries and paralysis were investigated. The post-mortem analysis gave us an insight of how a project could die. The revelations were shocking and saddening to say the least. Who was the culprit? Who murdered our project? What do we learn from these reports? To know continue reading&#8230;</p>
<p>Two years ago there was no shortage of enthusiasm when a sweet little mobile project kicked off.  It was a project for one of the US’s Fire Department (details confidential). Handheld devices were all flown from the US to India. The project began with a development of a web service that provided an API for the handheld Windows Mobile devices to retrieve and submit patient data right from the disaster site to the hospital servers. The paramedics would input the patient data on the field and the bits and bytes would flow to the central servers with whatever means was available at the place at that moment. The software was responsible for detecting which means was available using the capabilities of the device. It could be Wi-Fi, GPRS or even the slower Satellite.</p>
<p>The senior members of the team decided to implement this project in .NET compact framework. Initially I was skeptical but the thought of using core C++ libraries instead of the friendlier .NET compact framework scared me and I kept mum.</p>
<p>The application started with simple data entry forms which were rendered on the fly using .NET’s reflection capabilities. The fact that the forms were rendered on the fly by reading an XML file itched me a bit but again it was time to keep mum because this decision was taken by the US guys and not the Indian architects or developers. I continued to keep mum. As the time progressed through the development and testing cycles, more features were added to the application as the requests came in from the clients. The on-device camera was integrated into the application to take snaps of the patient. The bar-code reader was exploited to scan the bar codes on the patient’s wrists. The project was turning into a software adventure.</p>
<p>The .NET Compact Framework got us started stunningly quickly and the initial features were pretty much ready within few months after starting. Thank you .NET Compact Framework. You filled joy in the hearts of our developers. You are so cool. But deep underground below the compact framework and above the Windows CE – the native mobile operating system from Microsoft- was hatching a deadly conspiracy which would eventually threaten and then actually kill this project. I was becoming aware of it but the team did not care as long as the client was not unhappy.</p>
<p>Then came the grand Stress Testing cycles in which testers would enter data of 100s of patients to test the application. The first signs of internal injuries were becoming apparent. The optimization efforts began. Initial investigation quickly revealed memory leaks in the application. Technically speaking they were not memory leaks but the effect of it was similar to memory leaks. In fact, what was shocking to us was we have to think about the usage of the memory now while the framework was supposed to take the burden of the memory management off the shoulders of the developer on to its Garbage Collector. The promise now seems to be a false one. A promise made to lure developers to use the framework. Moreover, the initial success of the project makes the developer think good about the framework. More investigations revealed that the fault was that of the developer, the developers did not properly dispose the objects. What the hell? It’s a programmers’ fault. I could not believe 100% but I knew the framework has played a game with us. The framework promotes bad programming practices or allows sloppy programming which a C++ environment could not have tolerated right from the beginning.  We were scared now even to allocate even one new string object.  The application was internally bleeding from every side.</p>
<p>Now we knew we needed more memory instantly. Yes the keyword is “instantly”. We wanted to free the memory immediately after use. But the framework did not allow us to do so. Its Disposable protocol meant that the memory will be freed when it thinks it is appropriate. The garbage collector produced spikes in CPU and memory usage when it would run to free memory which we had disposed. By design we did not have control over memory allocations – to be precise – the timing of the memory allocations. Remember we were not building a time critical application; it was just a batch mode application which was not needed to work in real time in the truest sense of the term.</p>
<p>A great application was paralyzed. We could not go back and implement in C++ now. A large chunk of budget was already spent and we were through the development for 2 years now.</p>
<p><strong>Summary: </strong> Frameworks are not bad but they produce an illusion of relieving a programmer from the underlying complexity but this complexity attacks back with a vengeance later when the project is in the final stages. A framework like .NET compact framework and some others do have some semi-official documentation available to fix such situations. But this whole thing is really a catch. The frameworks attract you to use it and bites terribly to the extent that project may be rendered unusable. Why not work with the reality right from the beginning rather than start with hiding something as important as memory management? If you do so the benefit is yours in the long run (not very long run). Framework is a silent killer.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.devlopr.com/the-mystery-of-the-dead-project-%e2%80%93-exposed/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>After all! What is this no-framework?</title>
		<link>http://www.devlopr.com/after-all-what-is-this-no-framework/</link>
		<comments>http://www.devlopr.com/after-all-what-is-this-no-framework/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 08:03:31 +0000</pubDate>
		<dc:creator>jayesh</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.devlopr.com/?p=27</guid>
		<description><![CDATA[Most frameworks rely on the Hollywood principle: Don’t call us, we will call you! This is the root of all the problems. The classic MVC pattern is a great tool, but it is almost always implemented in conjunction with the Hollywood principle (Technically called IOC = Inversion of Control).  This post explains a simple no-framework paradigm.]]></description>
			<content:encoded><![CDATA[<p>It’s a good idea to <a title="read this" href="http://www.devlopr.com/do-frameworks-fail-when/" target="_self">read this</a> before reading further.</p>
<p>Most frameworks rely on the Hollywood principle: Don’t call us, we will call you! This is the root of all the problems. The classic MVC pattern is a great tool, but it is almost always implemented in conjunction with the Hollywood principle (Technically called IOC = Inversion of Control).  This post explains a simple no-framework paradigm.</p>
<p>Based on the theory above, here is what I mean by a no-framework:</p>
<ol>
<li>By all means, follow MVC pattern using either classes or simple file includes. Three different files for M, V and C. (Model, View and Controller) to separate the code into 3 logical parts for easy readability and maintainability (no more separation than this is really required).</li>
<li>Include the necessary files in your view file as necessary and call the necessary functions at the top of the view file (this is slightly against MVC pattern because although small amount but some code from controller has crept in the view file) but never mind its simple to understand and teach (The MVC pattern is for us, we are not for the pattern). So it is good to modify a few concepts to fit the needs (Remember we are engineers with limited budgets and unlimited creativity and not scientists with unlimited budgets). Our target is to produce a usable product (forget about reusability – have you ever reused your view/models or controllers?) that is readable and maintainable (and also scalable).</li>
<li>Use the “tile pattern” to implement the common parts of the web pages (header, footer, left, right, sidebar, etc.) Put them in separate files and include them where necessary. Most frameworks would not need you to include such things because they hide this from the developers but what is the point in hiding things that are going to ultimately be there? So a framework forces you to “see” what is not visible making it very difficult to understand for a new user. With our no-framework you will not need to imagine things – just keep simple principles in mind.</li>
<li>Since there is no Hollywood overhead involved in our no-framework we have a scalable architecture because all we have is the overhead of PHP language itself – no more, no less.</li>
<li>Now the advanced questions remain: What about Caching, Multilanguage support and other features that come free with the frameworks? The answer is simple: Learn those things (full stop). Implement them in your code (full stop). Learning these things is good for your health and also inevitable sometime in the future when your framework bites you (and when it is too late and difficult to dig through the framework to fix the weird issues). There is no escape, better face it from the beginning than shying away behind the complicated frameworks that promise great dreams in their feature list.</li>
</ol>
<p>A few notes: The author is not against the frameworks which have worked great miracles in desktop and mobile applications arena because the interaction between objects is more complicated in those applications and the framework overhead is reasonably acceptable considering the great advantages offered. But this does not hold true in case of the web applications because of the very nature of the way HTTP protocol works. The protocol is simple and so the applications need not be complicated. Show me the most complicated page on the web (a webpage is always simple – it is either a form or a list of records or a simple combination of them). With one web request there is a simple cycle involved from request to the final HTML output delivered to the browser. KISS!</p>
<p>The best frameworks reside in the minds of the developer!</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.devlopr.com/after-all-what-is-this-no-framework/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Do Frameworks Fail? When?</title>
		<link>http://www.devlopr.com/do-frameworks-fail-when/</link>
		<comments>http://www.devlopr.com/do-frameworks-fail-when/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 15:20:22 +0000</pubDate>
		<dc:creator>jayesh</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Framework]]></category>

		<guid isPermaLink="false">http://devlopr.com/?p=4</guid>
		<description><![CDATA[Before reading this post, please note that the author of this blog is an entrepreneur who has turned to business from the technical background. The views and opinions have strong relevance to this fact. Anyone who is purely technical or managerial may not agree with some or all points noted in the article.
1. Learning Curve: [...]]]></description>
			<content:encoded><![CDATA[<p>Before reading this post, please note that the author of this blog is an entrepreneur who has turned to business from the technical background. The views and opinions have strong relevance to this fact. Anyone who is purely technical or managerial may not agree with some or all points noted in the article.</p>
<p><strong>1. Learning Curve</strong>: Compared to simple PHP, frameworks need to be understood. Normally the curve is longer if the development resources are not very highly skilled. There are many ins and outs which we need to continuously learn from various official and many unofficial sources. After finding a few issues with a given framework switching to a new framework becomes difficult and also necessary. If a particular thing has to be done in a particular framework which is not directly supported one has to do a lot of research on the web. This is substantial efforts required in my experience. Many times a hack is required which eliminate all the benefits of a framework in the first place (Readability, Structure, Re-usability).</p>
<p><strong>2. Code Efficiency</strong>: The time and space complexity of frameworks is not easily controllable. In fact, there is very little control available to the developers over fine tuning of the resources consumed by the framework which may not have been used in a particular project.</p>
<p><strong>3. Total Cost of Ownership</strong>: Many frameworks have a great get started video that explains how quick a blog application can be created using their framework. I agree it can be quickly done but there is a catch. This is in compliance with the fact that when something is made easy by a framework it is done at the cost of making something else much harder to do. So even if you get started quickly with a framework, eventually, you are not the winner but a big looser when you see that important things have been sacrificed:</p>
<p>a. Time Efficiency: the code runs slow</p>
<p>b. Ability to support advanced web features.</p>
<p>The point is not just of sacrifice. In fact, there will never be any sacrifice to be done at all. But this comes for a cost, a huge cost. Time and Cost budgets get hampered. The time to market is drastically affected making the whole thing a flop. If, however, the budget is not a concern then one can go for such costly frameworks.</p>
<p>It should, however, be noted that these frameworks come handy when developing very small and simple sites which do not need something unsupported by a particular framework. Finding which framework fits best and supports your needs is a time consuming activity and can be avoided by starting with a no-framework to save this extra time again.</p>
<p><strong>A Good Framework:</strong></p>
<p>From the “engineering” point of view a good framework should consider following realities:</p>
<ol>
<li><strong>Employee Attrition:</strong> Employee turnover has plagued the IT industry since long. It is essential that new employees are quickly absorbed into the working teams instead of spending several months training them.</li>
<li><strong>Cost Effective:</strong> Does your framework increase or decrease your costs? The cost is eventually bore by the clients and not the developers, so it is in the best interest of any customer centric company to use such a framework.</li>
<li><strong>Time-to-Market-Effective:</strong> Does it save your time or force you to invest your precious time into finding the hacks and “making it work”? This should obviously be the most important concern when choosing any tool.</li>
</ol>
<p>With these points in mind I have written a small post with some of the simple rules to follow while coding PHP. The framework is in the minds of developer. If a developer is put into the right perspective he understands it and moreover the code has the essential qualities of reusability and readability.</p>
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
<input id="gwProxy" type="hidden" />
<input id="jsProxy" onclick="jsCall();" type="hidden" />
]]></content:encoded>
			<wfw:commentRss>http://www.devlopr.com/do-frameworks-fail-when/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>
